
Альтернати́вная кодиро́вка (альтернативная кодировка ГОСТ) — основанная на CP437 кодовая страница, где все специфические европейские символы в верхней половине (позиции 0x80
—0xFF
) кодовой таблицы заменены на кириллические буквы, а псевдографические символы оставлены нетронутыми. Это не портит вида программ, использующих псевдографику для отрисовки рамок, а также обеспечивает использование в них кириллицы. Недостатком данной кодировки является разрыв в порядке малых кириллических букв. Разработана вместе с основной кодировкой (с которой совпадает по набору символов) в середине 1980-х годов в Вычислительном центре Академии наук СССР, была названа и описана в статье в журнале «Микропроцессорные средства и системы»[1] и пользовалась большой популярностью среди советских пользователей ПК (в феврале 1989 года 85 % опрошенных заявили, что используют её)[2].
Альтернативная кодировка может использоваться как для русского и болгарского языков, так и для украинского (советского периода) и белорусского, поскольку включает буквы Є, Ї и Ў. Тем не менее, в ней нет кириллической буквы І (вместо неё применяли латинскую I), а также буквы Ґ, которая была упразднена в 1933 году и на момент создания кодировки отсутствовала в украинском алфавите (восстановлена в 1990 году).
Исторически существовало много вариантов альтернативной кодировки, но все различия, как правило, затрагивали только диапазон кодовых позиций 0xF0
—0xFF
.
Окончательным стандартом стала кодировка IBM 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-16 (до Windows 2000 — UCS-2).
Два варианта альтернативной кодировки — КОИ-8 Н1 (базовый) и КОИ-8 Н2 (рабочий) — определены в российском ГОСТ Р 34.303—92[4]. Несмотря на сходство названий, они не имеют отношения к кодировке КОИ-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 |
00A0 |
Производные варианты
(Показаны только те строки кодовых таблиц, которые отличаются от версии ВЦ АН СССР.)
Наиболее распространённый вариант до появления CP866, называемый также «модифицированной альтернативной кодировкой» (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 |
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 |
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 |
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 |
00A0 |
RUSCII (CP866U, CP1125, GOST Ukrainian):
.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 |
· 00B7 |
√ 221A |
№ 2116 |
¤ 00A4 |
■ 25A0 |
00A0 |
CP866.chuv — кодировка, использовавшаяся для отображения знаков чувашского алфавита:
.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 |
00A0 |
КОИ-8 Н2 — кодировка, определённая в ГОСТ Р 34.303—92[4] (собственно, так называемая «альтернативная кодировка ГОСТ»):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | 00AD |
№ 2116 |
Ґ 0490 |
ґ 0491 |
Ё 0401 |
ё 0451 |
Є 0404 |
є 0454 |
І 0406 |
і 0456 |
Ї 0407 |
ї 0457 |
Ў 040E |
ў 045E |
■ 25A0 |
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 ГОСТ Р 34.303—92 (ИСО 4873—86) «Информационная технология. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации».
You must be logged in to post a comment.