Представление символов в памяти ЭВМ
В памяти ЭВМ каждый символ (например, буква, цифра, знак препинания) закодирован в виде беззнакового целого двоичного числа. Кодировка символов – это соглашение об однозначном соответствии каждому символу одного беззнакового целого двоичного числа, называемого кодом символа.
Для русского алфавита существует несколько кодировок (табл. 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; просмотров: 714;
