Как определить наличие расширенных значений ASCII (от 128 до 255) в массиве символов C++.C++ Extended Ascii characters
ответ
Итерации по массиву и проверка того, что каждый символ не попадает в диапазон от 128 до 255?
Проверьте значения, что они не являются отрицательными
Пожалуйста, помните, что нет такого понятия, как расширенный ASCII. ASCII был и определяется только между 0 и 127. Все вышеприведенное это либо неверно, либо должно быть в определенной кодировке, отличной от ASCII (например, ISO-8859-1).
Кроме этого: что не так, итерации по нему и проверка на любое значение> 127 (или < 0 при использовании подписанных char
)?
-1 за то, что вы совершенно неправы: http://en.wikipedia.org/wiki/Extended_ASCII – shoosh
@shoosh: снова прочитайте свою ссылку: «Использование этого термина иногда критикуется, потому что его можно ошибочно интерпретировать, что стандарт ASCII был обновлен, чтобы включить более 128 символов или что этот термин однозначно идентифицирует одну кодировку, оба из которых не соответствуют действительности » –
@shoosh: я знаю, что некоторые кодировки могут быть совместно обозначены как« расширенные ASCII », но всякий раз, когда я см., что кто-то использует этот термин, они обычно этого не знают. Поэтому я препятствую его использованию и пытаюсь уточнить, где я его использую. –
bool detect(const signed char* x) {
while (*x++ > 0);
return x[-1];
}
Убедитесь, что вы знаете, порядок следования байтов машины в вопросе, и просто проверить старший бит с побитового И маской:
if (ch & 128) {
// high bit is set
} else {
// looks like a 7-bit value
}
Но есть, вероятно, локали функции, которые вы должны использовать для этого , Еще лучше, ЗНАЙ, какие данные кодирования символов поступают как. Попытка угадать, это похоже на попытку угадать формат данных, поступающих в поля вашей базы данных. Это может произойти, но мусор, мусор.
hi Lee B. Мое приложение действует как промежуточное ПО между интерфейсом java и программным обеспечением DCE. сервер DCE заполняет некоторый символ нежелательной почты в outparam средней посуды. я должен отправить содержимое пара в FE. при отправке мусорного ящика, ядро промежуточного хранилища. – ilan
Мне нужно преобразовать char * из DCE в строку, а затем передать его передним интерфейсом. – ilan
Вам лучше наложить 128 на char, иначе ch будет преобразован в int, и в этом случае 128 больше не будет битом. – MSalters
Char может быть подписан или без знака. Это не имеет большого значения. Вы действительно хотите проверить, действительно ли каждый символ ASCII. Это положительная, недвусмысленная проверка. Вы просто проверяете, есть ли каждый символ> = 0 и < = 127. Все остальное (положительное или отрицательное, «Extended ASCII» или UTF-8) является недопустимым.
Неужели никто не использует isascii?
char c = (char) 200;
if (isascii(c))
{
cout << "it's ascii!" << endl;
}
else
{
cout << "it's not ascii!" << endl;
}
- 1. IBM Extended ASCII Characters в HTML
- 2. Python3: unescaping non ascii characters
- 3. hi-ascii characters python string
- 4. SQL Server HASHBYTES и Extended Ascii
- 5. extended ASCII и windows-1252 (разные коды)
- 6. Выберите пункт Where Where - Non Ascii Characters?
- 7. Weird non-ASCII Characters in Console Output
- 8. напечатайте строку, удалив PRIME ASCII CHARACTERS
- 9. Delphi Extended до C#
- 10. Итерация через const unsigned char *, содержащая символы «Extended ASCII»
- 11. C++ Sensing Characters
- 12. C# Invalid Literal Characters
- 13. C++ WriteFile unicode characters
- 14. Как выбрать данные с REGEXP, не содержащей Extended ASCII
- 15. Extended ASCII charatcer string преобразовать в формат Hex
- 16. SQL NVARCHAR (MAX) возвращает ASCII и Weird Characters вместо текста
- 17. отредактировал html mail возвращает результат с ascii/weird characters
- 18. php unlink() non-ascii characters = файл не найден
- 19. C# Button Text Unicode characters
- 20. C++ Array Characters w/Structures
- 21. Strtok Problems C (EOF characters?)
- 22. non sha256 characters
- 23. Extended Hashmaps
- 24. Jsoup unescapes special characters
- 25. Python Unicode characters
- 26. Extended GroupBy
- 27. C# Deserialize Extended XML Комплексные типы
- 28. Попадая Extended File Properties в C# .net
- 29. Oracle Extended Stored Procedure с C++
- 30. mcrypt characters
+1 за то, что на 36 секунд быстрее меня ;-). –
Ascii глупый вопрос получить глупый Ansi. +1 –
-1, char часто подписывается. В этом случае char (130) <129! – MSalters