Для простоты восприятия на рисунке ниже представлена нумерация кодов клавиш стандартной клавиатуры «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), а отдельного символа, в этом случае мы используем процедуру DecodeToDOSC:
Илл. 20. Преобразование из кодировки Win в кодировку Dos отдельного символа.
В программах использующих перекодировку символов мы использовали простой принцип преобразования, обращаясь к числовым значениям переменных.