Представление символов в памяти ЭВМ
В памяти ЭВМ каждый символ (например, буква, цифра, знак препинания) закодирован в виде беззнакового целого двоичного числа. Кодировка символов – это соглашение об однозначном соответствии каждому символу одного беззнакового целого двоичного числа, называемого кодом символа.
Для русского алфавита существует несколько кодировок (табл. 5.3).
Таблица 5.3. Кодировки букв алфавита русского языка
Кодировка | Операционная система | Количество кодируемых символов | Размер кода одного символа, байт |
MS DOS | |||
1251 (Win-1251, CP-1251) | Windows | ||
КОИ-8 (КОИ-8Р) | Unix | ||
Unicode | Windows |
В кодировках 866, 1251, КОИ-8 и Unicode первые 128 символов (цифры, заглавные и строчные латинские буквы, знаки препинания) со значениями кодов от 0 до 127 одни и те же и определяются стандартом ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией). Цифры 0, 1, ..., 9 имеют соответственно коды 48, 49, ..., 57; прописные латинские буквы A, B, ..., Z (всего 26 букв) – коды 65, 66, ..., 90; строчные латинские буквы a, b, ..., z (всего 26 букв) – коды 97, 98, ..., 122.
Вторые 128 символов со значениями кодов от 128 до 255 кодировок 866, 1251, КОИ-8 содержат символы псевдографики, математические операции и символы алфавитов, отличных от латинского. Причем разные символы разных алфавитов имели один и тот же код. Например, в кодировке 1251 символ русского алфавита Б имеет тот же код, что и символ Á в стандартной кодировке ASCII. Такая неоднозначность вызывала проблемы с кодировкой текста. Поэтому была предложена двухбайтовая кодировка Unicode, которая позволяет закодировать символы многих нелатинских алфавитов.
Десятичные значения кодов букв русского алфавита в кодировках 866, 1251 и Unicode приведены в табл. 5.4.
Таблица 5.4. Значения кодов букв русского алфавита
Кодировка | Коды русских букв | |||
А-Я (без Ё) | а-я (без ё) | Ё | ё | |
128-159 | 160-175 (а-п) 224-239(р-я) | |||
192-223 | 224-255 | |||
Unicode | 1040-1071 | 1072-1103 |
В кодировке КОИ-8 (табл. 5.5) коды букв русского алфавита упорядочены не по расположению букв в алфавите, а по соответствию их буквам латинского алфавита. Например, коды латинских букв А, В, С имеют соответственно десятичные значения 65, 66, 67, а русских букв А, Б, Ц – значения 225, 226, 227.
Таблица 5.5. Значения кодов букв русского алфавита
в кодировке КОИ-8
A | К | Х | а | к | х | ||||||
Б | Л | Ц | б | л | ц | ||||||
В | М | Ч | в | м | ч | ||||||
Г | Н | Ш | г | н | ш | ||||||
Д | О | Щ | д | о | щ | ||||||
Е | П | Ъ | е | п | ъ | ||||||
Е | Р | Ы | ё | р | ы | ||||||
Ж | С | Ь | ж | с | ь | ||||||
З | Т | Э | з | т | э | ||||||
И | У | Ю | и | у | ю | ||||||
Й | Ф | Я | й | ф | я |
Дата добавления: 2019-04-03; просмотров: 619;