Кодировка букв русского алфавита
В настоящее время наиболее широко используются пять (!) различных таблиц кодировки для формального представления русских букв:
- I. ISO 8859-5 - международный стандарт;
- II. Кодовая страница 866 (Microsoft CP866) - используется в MS-DOS;
- III. Кодовая страница 1251 (Microsoft CP1251) для Microsoft Windows;
- IV. На базе ГОСТ КОИ-8, koi8-r - применяется в мире Unix;
- V. Unicode - используется в Microsoft Windows, Unix и клонах Unix.
Основная кодировка ГОСТ (государственный стандарт СССР) от 1987 года создана на основе рекомендаций ISO и в дальнейшем стала основой для представления знаков русских букв в Unicode. В ней и в кодировках II, III и V все буквы кроме ё и Ё расположены в алфавитном порядке. На практике эту кодировку можно встретить только на старых IBM PC совместимых компьютерах ЕС-1840 и в некоторых принтерах. Internet браузеры обычно поддерживают ее наряду с кодировками II-IV.
Кодировка CP866, разработанная на основе альтернативной кодировки ГОСТ, создана специально для ОС MS-DOS, в которой часто используются символы псевдографики. В этой кодировке эти символы имеют те же коды, что и в стандартном IBM PC совместимом компьютере.
Альтернативная кодировка ГОСТ, которая имеет два варианта, совпадает с CP866 по позициям для букв русского алфавита и знакам псевдографики. Основная кодировка ГОСТ совпадает с ISO 8859-5 только по всем знакам русских букв, кроме заглавной буквы Ё.
Использование CP1251 обусловлено почти исключительно влиянием на компьютерные технологии разработок фирмы Microsoft. В ней наиболее полно по сравнению с I, II, IV представлены такие символы как , , №, различные виды кавычек и тире и т. п.
Кодировка koi8-r основана на стандартах по обмену информацией, используемых на компьютерах под управлением ОС Unix, CP/M и некоторых других с середины 1970-х. В 1993 она стандартизирована в Internet документом RFC1489.
Кодировка Unicode опирается на каталог символов UCS (Universal Character Set) стандарта ISO 10646. UCS может содержать до 231 различных знаков. Коды UCS-2 - 2-байтные, UCS-4 - 4-байтные. Используются также коды переменной длины UTF-8 (Unicode Transfer Format) - 1 -6-байтные, наиболее совместимые с ASCII, и UTF-16 - 2 или 4-байтные. Unicode в прикладных программах реализуется лишь частично, и в полном объеме пока нигде не поддерживается. В Linux используется UTF-8.
Достаточно широко используется кодирование на основе ASCII:
- VI. На базе КОИ-7 - можно использовать при отсутствии кириллических шрифтов, код получается вычитанием 128 от соответствующего кода в koi8-r, что, как правило, дает код латинской буквы, близкой фонетически к русской.
В кодировке VI нет видимого символа для Ъ.
Далее следует таблица, в которой представлены все перечисленные способы кодирования букв русского алфавита. В этой таблице в колонке 1 находятся символы букв, в колонке 2 часть названия букв в Unicode 3.2 (названия строчных кириллических букв начинается словами CYRILLIC SMALL LETTER, а заглавных - CYRILLIC CAPITAL LETTER, т. о., полное название буквы Д - CYRILLIC CAPITAL LETTER DE), в колонках с I по V коды десятичные и шестнадцатеричные соответствующих таблиц кодировки, а в колонке VI - символ ASCII для КОИ-7.
Кроме перечисленных можно встретить еще используемую до введения кодировок ГОСТ болгарскую кодировку, называемую также MIC, Interprog или "старый вариант ВЦ АН СССР". На компьютерах под управлением Macintosh OS используется также своя собственная таблица кодировки для русских букв, по своему набору знаков почти совпадающая с CP1251.