CP866
Эту страницу предлагается переименовать в «Альтернативная кодировка». |

Альтернати́вная кодиро́вка — основанная на CP437 кодовая страница, где большинство специфических европейских символов в верхней половине (позициях 0x80
—0xFF
) кодовой таблицы заменено на буквы русского алфавита, а псевдографические символы оставлены нетронутыми. Такой подход не портит внешнего вида зарубежных программ, использующих псевдографику (как правило, для отрисовки рамок и таблиц), а также обеспечивает возможность использования в них русских букв. Разработана в паре с основной кодировкой (с которой совпадает по набору символов) в середине 1980-х годов в Вычислительном центре Академии наук СССР, была названа и описана в статье в журнале «Микропроцессорные средства и системы»[1]. Пользовалась большой популярностью среди советских пользователей ПК (в феврале 1989 года 85 % опрошенных заявили, что используют её)[2]. Техническим недостатком данной кодировки является разрыв основного диапазона строчных русских букв, несколько усложняющий обработку (в частности, сортировку) текстовой информации.
Исторически существовало несколько вариантов альтернативной кодировки, но все изменения, как правило, затрагивали только диапазон кодовых позиций 0xF0
—0xFD
. Окончательным стандартом стала кодировка IBM CP866, которая, помимо русского и болгарского языков, может использоваться ещё и для украинского (советского периода) и белорусского, поскольку включает буквы Є, Ї и Ў; тем не менее, в ней нет кириллической буквы І (вместо неё применяют латинскую I), а также буквы Ґ, упразднённой в 1933 году и на момент создания кодировки отсутствовавшей в украинском алфавите (восстановлена в 1990 году). Поддержка CP866 была добавлена в ОС MS-DOS версии 4.01[3] (только в локализованных и переведённых на русский язык выпусках) и повсеместно — в MS-DOS версии 6.22. В этой кодировке записываются имена объектов (файлов и каталогов) в файловой системе FAT (и короткие имена в VFAT). Поныне является популярной стандартной кодировкой Microsoft в среде DOS и OS/2, используется в консоли русифицированных ОС семейства Windows NT. Вне среды MS-DOS в Microsoft Windows заменена стандартной кодировкой CP1251, а в ОС семейства Windows NT (Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 и т. д.) — Юникодом в представлении UTF-16LE (до Windows 2000 — UCS-2LE).
Хотя оригинальная альтернативная кодировка не была стандартизована ни в одном из когда-либо существовавших ГОСТов, её иногда называют «альтернативной кодировкой ГОСТа» или «альтернативной кодировкой ГОСТ». Данное ошибочное название закрепилось за ней из-за использования в одном из первых русскоязычных учебников по работе с IBM PC-совместимыми ПК, пользовавшемся популярностью в 1990-х годах — книге В. Э. Фигурнова «IBM PC для пользователя»[4].
Два варианта альтернативной кодировки — КОИ-8 Н1 (базовый набор кириллицы для русского языка) и КОИ-8 Н2 (рабочий набор кириллицы для русского, белорусского и украинского языков, включающий символы псевдографики) — определены в ГОСТ Р 34.303—92[5]. Несмотря на сходство названий, они не имеют отношения к кодировке КОИ-8 по ГОСТ 19768—74, в настоящее время не определённой ни в одном из действующих стандартов.
Кодовые таблицы
Нижние половины (позиции 0x00
—0x7F
) кодовых таблиц не показаны, поскольку они полностью совпадают с CP437 (ASCII). Числа под символами обозначают их шестнадцатеричный код в Юникоде.
Оригинальная кодировка
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | А 0410 |
Б 0411 |
В 0412 |
Г 0413 |
Д 0414 |
Е 0415 |
Ж 0416 |
З 0417 |
И 0418 |
Й 0419 |
К 041A |
Л 041B |
М 041C |
Н 041D |
О 041E |
П 041F |
9. | Р 0420 |
С 0421 |
Т 0422 |
У 0423 |
Ф 0424 |
Х 0425 |
Ц 0426 |
Ч 0427 |
Ш 0428 |
Щ 0429 |
Ъ 042A |
Ы 042B |
Ь 042C |
Э 042D |
Ю 042E |
Я 042F |
A. | а 0430 |
б 0431 |
в 0432 |
г 0433 |
д 0434 |
е 0435 |
ж 0436 |
з 0437 |
и 0438 |
й 0439 |
к 043A |
л 043B |
м 043C |
н 043D |
о 043E |
п 043F |
B. | ░ 2591 |
▒ 2592 |
▓ 2593 |
│ 2502 |
┤ 2524 |
╡ 2561 |
╢ 2562 |
╖ 2556 |
╕ 2555 |
╣ 2563 |
║ 2551 |
╗ 2557 |
╝ 255D |
╜ 255C |
╛ 255B |
┐ 2510 |
C. | └ 2514 |
┴ 2534 |
┬ 252C |
├ 251C |
─ 2500 |
┼ 253C |
╞ 255E |
╟ 255F |
╚ 255A |
╔ 2554 |
╩ 2569 |
╦ 2566 |
╠ 2560 |
═ 2550 |
╬ 256C |
╧ 2567 |
D. | ╨ 2568 |
╤ 2564 |
╥ 2565 |
╙ 2559 |
╘ 2558 |
╒ 2552 |
╓ 2553 |
╫ 256B |
╪ 256A |
┘ 2518 |
┌ 250C |
█ 2588 |
▄ 2584 |
▌ 258C |
▐ 2590 |
▀ 2580 |
E. | р 0440 |
с 0441 |
т 0442 |
у 0443 |
ф 0444 |
х 0445 |
ц 0446 |
ч 0447 |
ш 0448 |
щ 0449 |
ъ 044A |
ы 044B |
ь 044C |
э 044D |
ю 044E |
я 044F |
F. | Ё 0401 |
ё 0451 |
🮣 1FBA3 |
🮢 1FBA2 |
🮠 1FBA0 |
🮡 1FBA1 |
→ 2192 |
← 2190 |
↓ 2193 |
↑ 2191 |
÷ 00F7 |
± 00B1 |
№ 2116 |
¤ 00A4 |
■ 25A0 |
NBSP 00A0 |
Производные кодировки
![]() | В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
В данном разделе приведены только те строки кодовых таблиц, которые отличаются от оригинальной версии ВЦ АН СССР.
Наиболее распространённый вариант до появления CP866, называемый также «модифицированной альтернативной кодировкой»[4] (KOI8-R использует этот же набор символов):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 0401 |
ё 0451 |
≥ 2265 |
≤ 2264 |
⌠ 2320 |
⌡ 2321 |
÷ 00F7 |
≈ 2248 |
° 00B0 |
∙ 2219 |
· 00B7 |
√ 221A |
ⁿ 207F |
² 00B2 |
■ 25A0 |
NBSP 00A0 |
То же, но без буквы Ё (отличается от CP437 только заменой символов в диапазонах 0x80
—0xAF
и 0xE0
—0xEF
на русские буквы):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | ≡ 2261 |
± 00B1 |
≥ 2265 |
≤ 2264 |
⌠ 2320 |
⌡ 2321 |
÷ 00F7 |
≈ 2248 |
° 00B0 |
∙ 2219 |
· 00B7 |
√ 221A |
ⁿ 207F |
² 00B2 |
■ 25A0 |
NBSP 00A0 |
CP866 — вариант альтернативной кодировки, зарегистрированный корпорацией IBM:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 0401 |
ё 0451 |
Є 0404 |
є 0454 |
Ї 0407 |
ї 0457 |
Ў 040E |
ў 045E |
° 00B0 |
∙ 2219 |
· 00B7 |
√ 221A |
№ 2116 |
¤ 00A4 |
■ 25A0 |
NBSP 00A0 |
CP866LV — кодировка, использовавшаяся в Латвии (Латвийской ССР), часть стандартных символов заменена на буквы латышского алфавита:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B. | ░ 2591 |
▒ 2592 |
▓ 2593 |
│ 2502 |
┤ 2524 |
Ā 0100 |
╢ 2562 |
ņ 0146 |
╕ 2555 |
╣ 2563 |
║ 2551 |
╗ 2557 |
╝ 255D |
╜ 255C |
╛ 255B |
┐ 2510 |
C. | └ 2514 |
┴ 2534 |
┬ 252C |
├ 251C |
─ 2500 |
┼ 253C |
ā 0101 |
╟ 255F |
╚ 255A |
╔ 2554 |
╩ 2569 |
╦ 2566 |
╠ 2560 |
═ 2550 |
╬ 256C |
╧ 2567 |
D. | Š 0160 |
╤ 2564 |
č 010D |
Č 010C |
╘ 2558 |
╒ 2552 |
ģ 0123 |
Ī 012A |
ī 012B |
┘ 2518 |
┌ 250C |
█ 2588 |
▄ 2584 |
ū 016B |
Ū 016A |
▀ 2580 |
E. | р 0440 |
с 0441 |
т 0442 |
у 0443 |
ф 0444 |
х 0445 |
ц 0446 |
ч 0447 |
ш 0448 |
щ 0449 |
ъ 044A |
ы 044B |
ь 044C |
э 044D |
ю 044E |
я 044F |
F. | Ē 0112 |
ē 0113 |
Ģ 0122 |
ķ 0137 |
Ķ 0136 |
ļ 013C |
Ļ 013B |
ž 017E |
Ž 017D |
∙ 2219 |
· 00B7 |
√ 221A |
Ņ 0145 |
š 0161 |
■ 25A0 |
NBSP 00A0 |
CP1125 (CP866U, RUSCII) — вариант альтернативной кодировки с поддержкой букв украинского алфавита, стандартизованный в РСТ УССР 2018—91:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 0401 |
ё 0451 |
Ґ 0490 |
ґ 0491 |
Є 0404 |
є 0454 |
І 0406 |
і 0456 |
Ї 0407 |
ї 0457 |
÷ 00F7 |
± 00B1 |
№ 2116 |
¤ 00A4 |
■ 25A0 |
NBSP 00A0 |
CP866.chuv — вариант кодировки CP866 с поддержкой букв чувашского алфавита:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 0401 |
ё 0451 |
Ӑ 04D0 |
ӑ 04D1 |
Ӗ 04D6 |
ӗ 04D7 |
Ҫ 04AA |
ҫ 04AB |
Ӳ 04F2 |
ӳ 04F3 |
· 00B7 |
√ 221A |
№ 2116 |
¤ 00A4 |
■ 25A0 |
NBSP 00A0 |
КОИ-8 Н2 — кодировка, определённая в ГОСТ Р 34.303—92[5]:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | SHY 00AD |
№ 2116 |
Ґ 0490 |
ґ 0491 |
Ё 0401 |
ё 0451 |
Є 0404 |
є 0454 |
І 0406 |
і 0456 |
Ї 0407 |
ї 0457 |
Ў 040E |
ў 045E |
■ 25A0 |
NBSP 00A0 |
Примечания
- ↑ Брябрин В. М., Ландау И. Я., Неменман М. Е. О системе кодирования для персональных ЭВМ // Микропроцессорные средства и системы : журнал. — 1986. — № 4. — С. 61—63. Архивировано 8 июля 2018 года.
- ↑ Юрий Стариков. 30-летию Russian MS-DOS 4.01 посвящается . Дата обращения: 4 марта 2025. Архивировано 8 декабря 2024 года.
- ↑ Code Page 866 MS-DOS Cyrillic CIS 1 (англ.). Microsoft Developer Network. Дата обращения: 4 марта 2025. Архивировано 6 октября 2024 года.
- ↑ 1 2 Фигурнов В. Э. Приложение 6. Кодировки символов // IBM PC для пользователя . — М.: Финансы и статистика, 1990. — С. 226, 228. — 240 с.: ил. — 200 000 экз. — ISBN 5-279-00649-1. Архивировано 11 декабря 2023 года.
- ↑ 1 2 ГОСТ Р 34.303—92 (ИСО 4873—86) «Информационная технология. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации».