Форум программистов, компьютерный форум CyberForum.ru

С++ под Linux

Войти
Регистрация
Восстановить пароль
 
offmonreal
0 / 0 / 0
Регистрация: 20.12.2016
Сообщений: 9
#1

Проверка на непечатаемый символ - C++ Linux

20.12.2016, 15:09. Просмотров 387. Ответов 3
Метки нет (Все метки)

Есть некий массив char * прежде чем скормить его string хотел проверить на непечатаемые символы (на случай ошибки)
Русские буквы могут занимать 2 байта а енглиш 1 байт а китайские ероглифы еще как-то наверно...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2016, 15:09     Проверка на непечатаемый символ
Посмотрите здесь:

Определить непечатаемый символ - MS Word
Нужна помощь, необходимо определить непечатаемый символ. После копирования необходимого материала с сайта в большом объеме имеются...

Непечатаемый символ при использовании include - PHP
Делаю календарь. Календарь представляет собой таблицу, которая строится отдельным файлом kalend.php. Если я подключаю kalend.php командой...

Как автоматически удалить непечатаемый символ в ячейке - MS Excel
Подскажите, пожалуйста, как автоматически удалить непечатаемый символ в ячейках (B7:B14) второго столбца. Файл прилагаю.

Проверка на символ @ - Visual Basic
Здравствуйте, столкнулся с такой проблемой не могу найти код для проверки на знак "@" Нашел вот такой код но что-то не так не принимает...

Проверка на запрещающий символ - Delphi
Имеется некоторая строка - название папки или файла (без точки и расширения). Скажите, существует ли какое-нибудь константное множество...

Проверка строки на символ - C++
Ретбятууу, че то не допирает до меня один метод я завожу переменную int n; какое мне поставить условие, чтобы проверить введенное число...

Проверка ввода. Символ 'а' (rus) - C++
В функции main присутствует проверка: for(;;){ cout << "Введите количество дисков (0-выход): "; fflush(stdin); ...

Проверка на символ в TextBox.Text - C#
Здравствуйте, есть один вопрос. Пишу программу: Обмен валют. Проверяю чтобы в textbox не было букв и лишних символов, так вот в чем...

Проверка массива на определенный символ - Pascal ABC
Дан массив a:array of char; a; i,j:integer; У которого 4 столбец наполнен символами Д и Н. Как в каждой строке 4-го столбца массива(a),...

Символ & и проверка на существование файла - C#
1) Почему при вводе в свойство Text какой-либо кнопки например следующей строки: «&Удалить». В графическом редакторе формы первая буква...

Некорректная проверка на пустой символ в List<> - C#
Я добавил в List несколько элементов List&lt;string&gt; lst = new List&lt;string&gt;(); lst.add(&quot;1&quot;); lst.add(&quot;2&quot;); lst.add(&quot;3&quot;); ...

Проверка строк файла на символ в конце каждой - Delphi
Дан файл test.txt в нем несколько строк , необходимо построчно проверять , если 5-ый с конца строки символ ' = ' то проверяем строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dovgon
109 / 80 / 21
Регистрация: 08.04.2010
Сообщений: 499
20.12.2016, 21:42     Проверка на непечатаемый символ #2
Какая кодировка?
Humanoid
Почетный модератор
9819 / 3817 / 162
Регистрация: 12.06.2008
Сообщений: 11,434
20.12.2016, 22:45     Проверка на непечатаемый символ #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Dovgon Посмотреть сообщение
Какая кодировка?
Судя по
Цитата Сообщение от offmonreal Посмотреть сообщение
Русские буквы могут занимать 2 байта а енглиш 1 байт
видимо, UTF-8.

Так как речь идёт о юникоде, тогда появляется вопрос о том, какие символы вы называете непечатными? Все нерусские и не английские? Или только символы, с номером меньше 32 ? Меньше, чем пробел (символ с номером 32) всё можно назвать непечатными, кроме переводов строки (10 ('\n') и 13 ('\r')). Все остальные символы вполне себе печатные.

Можно заморочится и проверить целостность кодировки. Например, если посмотреть описание кодировки на Википедии, то там видно, как кодируется UTF-8. Можно написать свою функцию перевода из UTF-8 в юникод, попутно проверяя, что количество байт для каждого символа верное. Например, если текущий байт 0xxxxxxx, то следом никак не может идти байт 10xxxxxx. Или если текущий байт 110xxxxx, то следом должен быть только один байт 10xxxxxx и т.д.

А заодно можно проверять значение юникодовского символа (отсеивать слишком маленькие (до пробела, кроме перевода строки) и слишком большие). А можно заморочится и вообще по списку сверять.
offmonreal
0 / 0 / 0
Регистрация: 20.12.2016
Сообщений: 9
21.12.2016, 12:46  [ТС]     Проверка на непечатаемый символ #4
Humanoid
Благодарю за ответ, и отдельно за то какой он подробный.
А еще вчера я думал что все добрые люди вымерли...
Yandex
Объявления
21.12.2016, 12:46     Проверка на непечатаемый символ
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru