«Альтернативная кодировка» («Альтернативная кодировка ГОСТ») — основанная на CP437 кодовая страница, где все специфические европейские символы во второй половине заменены на кириллицу, а псевдографические символы оставлены нетронутыми. Это не портит вида программ, использующих эти символы для отрисовки рамок, а также обеспечивает использование в них символов кириллицы. Недостатком данной кодировки является разрыв в порядке малых кириллических букв. Разработана в 1984 году в ИВНД Академии наук СССР, была названа и описана в статье и пользовалась большой популярностью (в феврале 1989 года 85 % опрошенных заявляли, что используют её).
Исторически существовало много вариантов альтернативной кодировки, но все различия касаются только области 0xF0—0xFF (240—255).
Окончательным стандартом стала кодировка IBM CP866, поддержка которой была добавлена в MS-DOS версии 4.01 (только в локализованных и переведённых на русский язык выпусках) и повсеместно — в MS-DOS версии 6.22. В этой кодировке записываются имена файлов в системе FAT (и короткие имена в VFAT). Поныне является популярной стандартной кодировкой Microsoft в среде DOS и OS/2, используется в консоли русифицированных систем семейства Windows NT. Вне среды MS-DOS в Microsoft Windows заменена стандартной кодировкой CP1251, а в операционных системах Windows NT и следующих за ней (Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7) — кодировками UCS-2 и UTF-16, основанными на стандарте Юникод.
В России кодировка частично установлена ГОСТ Р 34.303-92, где она названа КОИ-8 Н1 (не путать с КОИ-8); однако её последний ряд (0xF0—0xFF) не совпадает с аналогичным рядом в CP866.
CP866
Первая половина таблицы (коды 0-127) полностью соответствует кодировке CP437. В приведённых таблицах числа под буквами обозначают шестнадцатеричный код буквы в Юникоде. Ниже приведена только вторая половина таблицы, отличающаяся от CP437:
CP866 может использоваться также для украинского и белорусского языков, поскольку включает буквы Є, Ї и Ў, однако в ней нет кириллической І, поэтому вместо неё применяли латинскую I; также нет буквы Ґ (в 1986 году её ещё не было в украинском языке, в 1990 году её вернули).
Другие варианты
(Показаны только последние строки таблиц, поскольку всё остальное совпадает.)
Наиболее распространённый вариант до появления CP866, называемый также «модифицированной альтернативной кодировкой» (в KOI8-R используется тот же набор символов, но в другом порядке):
То же самое, но без буквы Ё (все символы 0xF0—0xFF совпадают с соответствующими символами CP437):
RUSCII (CP866U, CP1125, GOST Ukrainian):
Альтернативная кодировка согласно ГОСТ 19768-87 (по набору символов совпадает с основной кодировкой; в позициях 0xF2—0xF5 должны быть прямые диагональные линии):
CP866.chuv — кодировка, использовавшаяся для отображения знаков чувашского алфавита:
CP866LV — кодировка, использовавшаяся в Латвии (Латвийской ССР), часть стандартных символов заменена на буквы латышского алфавита: