Искусственный интеллект. Строки, контекст и волны на Паскале. Сергей Соболенко

Читать онлайн книгу.

Искусственный интеллект. Строки, контекст и волны на Паскале - Сергей Соболенко


Скачать книгу
записываются в тексте, как и все остальные. То есть, взглянув на строку мы не увидим что там есть символ с кодом «13» («Enter»), но при обработке этой строки последним символом может оказаться символ с кодом «13». Это особенно важно понимать при обработке предварительно сохраненных файлов.

      Что в этой таблице является очевидным: мы можем выделить значения чисел от 0 до 9 (коды 48—57); ряд символов пунктуации и специальных знаков (коды 33—47); английские прописные (большие) буквы от A до Z (коды 65—90); английские строчные (маленькие) буквы от a до z (коды 97—122); русские прописные (большие) буквы от А до Я (коды 128—159); русские строчные (маленькие) буквы от а до я (коды 160—175, 224—239) отдельно буквы Ё (240) и ё (241); и элементы псевдографики (коды 176—223).

      Для простоты восприятия на рисунке ниже представлена нумерация кодов клавиш стандартной клавиатуры «QWERTY».

      Илл.14. Стандартный набор кодов клавиатуры «Qwerty».

      На следующем рисунке приведена базовая кодировка ASCII в двоичном, восьмеричном и символьном коде без использования дополнительных языков.

      Илл. 15. Различные характеристики кодов ASCII-таблицы символов.

      Справка:

      ASCII (англ. American standard code for information interchange), – название таблицы кодировки, в которой распространённым печатным и непечатным символам сопоставлены числовые коды. Таблица была разработана и стандартизована в США, в 1963 году.

      Так или иначе, если в программе нужно использовать какой-то символ, например для условия выхода из цикла, уточнить его нам поможет простая программа:

      Илл.16. Программа вывода кодов символов «по требованию» пользователя: код нажатой клавиши будет отображаться на экране.

      Здесь, Key – переменная символьного типа Char отвечает за нажатие клавиш и последующий вывод кода символа на экран.

      Строка «If keypressed=true» – «Если нажата клавиша», то переменной «key» присваивается символ нажатой клавиши «readkey». Затем, мы выводим на экран значение символа в таблице (функция ord) и сам символ (key).

      Пример ее использования:

      Илл. 17. Программа сообщает коды нажатых пользователем клавиш.

      Итак, мы разобрались с таблицей символов.

      Теперь поговорим о перекодировке.

      Как уже упоминалось, Win-кодировка текстового файла отличается от DOS-кодировки, но она необходима для получения данных из открытых источников и удобства представления данных.

      Нормализация строк

      Для перекодировки строки текста из кодировки Win в DOS нам потребуется следующая процедура DecodeToDOS:

      Илл. 18. Процедура для декодирования строки из стандартной кодировки Win в DOS.

      Соответственно, обратно из кодировки DOS мы можем «перегнать» текст в кодировку Win (например, для записи в файл).

      Илл. 19. Процедура для декодирования строки из стандартной кодировки DOS в кодировку Win.

      Также, нам может потребоваться перекодирование не строки (из Win в DOS), а отдельного символа,


Скачать книгу