КОИ-8

КОИ-8 (код обмена информацией, 8 бит), KOI8 — восьмибитовая кодовая страница, совместимая с ASCII. Разработана для кодирования букв кириллических алфавитов. Была широко распространена как основная русская кодировка в Unix-совместимых ОС и в электронной почте, однако ближе к 2010 году, с распространением Юникода, постепенно выходит из употребления.

Существует также семибитовая версия кодировки, не полностью совместимая с ASCII — КОИ-7. КОИ-7 и КОИ-8 описаны в ныне не действующем ГОСТ 19768-74. Они восходят к двоичной кодировке ДКОИ для ЕС ЭВМ, а та, в свою очередь, основана на кодировке телеграфа.

Разработчики КОИ-8 поместили символы русского алфавита в верхней части кодовой таблицы таким образом, что позиции символов кириллицы соответствуют их фонетическим аналогам в английском алфавите из нижней части таблицы. Это означает, что если в тексте, написанном в КОИ-8, для каждого символа убрать по одному биту слева, то получится относительно читаемый текст, подобный транслиту. Например, слова «Русский Текст» превратятся в «rUSSKIJ tEKST». Из‑за этого символы кириллицы расположены не в алфавитном порядке.

Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов, расширяющих определённые коды (общий диапазон 192—255 с 32 русскими буквами в двух регистрах остаётся неизменным во всех вариантах). Русский алфавит описывается в кодировке KOI8-R, украинский — в KOI8-U, таджикский — в KOI8-T.

В 1990-х годах KOI8-R стал фактически стандартом для кодирования русской кириллицы в UNIX-подобных операционных системах и электронной почте. Автор данной кодировки (RFC 1489) Андрей Чернов в начале 1990-х годов работал в компании Демос (сеть Релком) и непосредственно участвовал в запуске и наладке первого интернет-канала между Россией и западными странами. КОИ-8 стала первой русской стандартизированной кодировкой в интернете.

IETF утвердил несколько RFC по вариантам кодировки KOI-8:
 RFC 1489 — KOI8-R (буквы русского алфавита);
 RFC 2319 — KOI8-U (буквы украинского алфавита);
 RFC 1345 — ISO-IR-111 (с ошибкой в определении основного диапазона).

IANA зарегистрировала кодировки в своём списке.

Стандарт RFC 1489 предписывает наличие графических символов «рамок» (псевдографики), однако, это требование выполняется довольно редко.

В Microsoft Windows KOI8-R присвоен код страницы 20866, KOI8-U — 21866.

Начало таблицы кодировки (латиница) полностью соответствует кодировке ASCII.

В приведённых таблицах числа под буквами обозначают шестнадцатеричный код буквы в Юникоде.

Кодировка KOI8-R (русская)

Другие варианты 

Показаны только не совпадающие строки таблиц, поскольку всё остальное совпадает.

Кодировка KOI8-U (русско-украинская)

Кодировка KOI8-RU (русско-белорусско-украинская)

Кодировка KOI8-C (Центральная Азия)

Кодировка KOI8-T (таджикская)

Кодировка KOI8-O, KOI8-S (славянская, старая орфография)

Кодировка ISO-IR-111, KOI8-E

Кодировка KOI8-Unified, KOI8-F 

Кодировка KOI8-Unified (KOI8-F) предложена компанией «Fingertip Software».

Кодировка KOI8-M 

Кодировка KOI8-M представляла собой смесь кодировок KOI8-R и Alt (Альтернативная кодировка CP866 согласно ГОСТ 19768-87).

Некириллические варианты КОИ-8 

В некоторых странах СЭВ были созданы модификации КОИ-8 для национальных вариантов латиницы. Базовая идея была та же самая — при «срезании» восьмого бита текст должен оставаться более или менее понятным.

Примечания

Ссылки 
 Сводка кириллических 8-битных кодировок
 RFC 1489
 RFC 2319

Кодировки кириллицы
ГОСТ