CP866 — Википедия
«Альтернати́вная кодиро́вка» («Альтернативная кодировка ГОСТ») — основанная на CP437 кодовая страница, где все специфические европейские символы во второй половине заменены на кириллицу, а псевдографические символы оставлены нетронутыми. Это не портит вида программ, использующих эти символы для отрисовки рамок, а также обеспечивает использование в них символов кириллицы. Недостатком данной кодировки является разрыв в порядке малых кириллических букв. Разработана в 1984 году в ИВНД Академии наук СССР, была названа и описана в статье[1] и пользовалась большой популярностью (в феврале 1989 года 85 % опрошенных заявляли, что используют её)[2].
Исторически существовало много вариантов альтернативной кодировки, но все различия касаются только области 0xF0—0xFF (240—255).
Окончательным стандартом стала кодировка 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 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7) — кодировками UCS-2 и UTF-16, основанными на стандарте Юникод.
В России кодировка частично установлена ГОСТ Р 34.303—92[4], где она названа КОИ-8 Н1 (не путать с КОИ-8); однако её последний ряд (0xF0—0xFF) не совпадает с аналогичным рядом в CP866.
CP866
[править | править код]Первая половина таблицы (коды 0-127) полностью соответствует кодировке CP437. В приведённых таблицах числа под буквами обозначают шестнадцатеричный код буквы в Юникоде. Ниже приведена только вторая половина таблицы, отличающаяся от CP437:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | А 410 | Б 411 | В 412 | Г 413 | Д 414 | Е 415 | Ж 416 | З 417 | И 418 | Й 419 | К 41A | Л 41B | М 41C | Н 41D | О 41E | П 41F |
9. | Р 420 | С 421 | Т 422 | У 423 | Ф 424 | Х 425 | Ц 426 | Ч 427 | Ш 428 | Щ 429 | Ъ 42A | Ы 42B | Ь 42C | Э 42D | Ю 42E | Я 42F |
A. | а 430 | б 431 | в 432 | г 433 | д 434 | е 435 | ж 436 | з 437 | и 438 | й 439 | к 43A | л 43B | м 43C | н 43D | о 43E | п 43F |
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. | р 440 | с 441 | т 442 | у 443 | ф 444 | х 445 | ц 446 | ч 447 | ш 448 | щ 449 | ъ 44A | ы 44B | ь 44C | э 44D | ю 44E | я 44F |
F. | Ё 401 | ё 451 | Є 404 | є 454 | Ї 407 | ї 457 | Ў 40E | ў 45E | ° B0 | ∙ 2219 | · B7 | √ 221A | № 2116 | ¤ A4 | ■ 25A0 | A0 |
CP866 может использоваться также для украинского и белорусского языков, поскольку включает буквы Є, Ї и Ў, однако в ней нет кириллической І, поэтому вместо неё применяли латинскую I; также нет буквы Ґ (в 1986 году её ещё не было в украинском языке, в 1990 году её вернули).
Другие варианты
[править | править код]В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
(Показаны только последние строки таблиц, поскольку всё остальное совпадает.)
Наиболее распространённый вариант до появления CP866, называемый также «модифицированной альтернативной кодировкой» (в KOI8-R используется тот же набор символов, но в другом порядке):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 401 | ё 451 | ≥ 2265 | ≤ 2264 | ⌠ 2320 | ⌡ 2321 | ÷ F7 | ≈ 2248 | ° B0 | ∙ 2219 | · B7 | √ 221A | ⁿ 207F | ² B2 | ■ 25A0 | A0 |
То же самое, но без буквы Ё (все символы 0xF0—0xFF совпадают с соответствующими символами CP437):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | ≡ 2261 | ± B1 | ≥ 2265 | ≤ 2264 | ⌠ 2320 | ⌡ 2321 | ÷ F7 | ≈ 2248 | ° B0 | ∙ 2219 | · B7 | √ 221A | ⁿ 207F | ² B2 | ■ 25A0 | A0 |
RUSCII (CP866U, CP1125, GOST Ukrainian):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 401 | ё 451 | Ґ 490 | ґ 491 | Є 404 | є 454 | І 406 | і 456 | Ї 407 | ї 457 | · B7 | √ 221A | № 2116 | ¤ A4 | ■ 25A0 | A0 |
Альтернативная кодировка согласно ГОСТ 19768—74 в неопубликованной редакции 1987 года (по набору символов совпадает с основной кодировкой; в позициях 0xF2—0xF5 должны быть прямые диагональные линии):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 401 | ё 451 | 🮣 1FBA3 | 🮢 1FBA2 | 🮠 1FBA0 | 🮡 1FBA1 | → 2192 | ← 2190 | ↓ 2193 | ↑ 2191 | ÷ F7 | ± B1 | № 2116 | ¤ A4 | ■ 25A0 | A0 |
CP866.chuv — кодировка, использовавшаяся для отображения знаков чувашского алфавита:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F. | Ё 401 | ё 451 | Ӑ 4D0 | ӑ 4D1 | Ӗ 4D6 | ӗ 4D7 | Ҫ 4AA | ҫ 4AB | Ӳ 4F2 | ӳ 4F3 | · B7 | √ 221A | № 2116 | ¤ A4 | ■ 25A0 | A0 |
CP866LV — кодировка, использовавшаяся в Латвии (Латвийской ССР), часть стандартных символов заменена на буквы латышского алфавита:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B. | ░ 2591 | ▒ 2592 | ▓ 2593 | │ 2502 | ┤ 2524 | Ā 100 | ╢ 2562 | ņ 146 | ╕ 2555 | ╣ 2563 | ║ 2551 | ╗ 2557 | ╝ 255D | ╜ 255C | ╛ 255B | ┐ 2510 |
C. | └ 2514 | ┴ 2534 | ┬ 252C | ├ 251C | ─ 2500 | ┼ 253C | ā 101 | ╟ 255F | ╚ 255A | ╔ 2554 | ╩ 2569 | ╦ 2566 | ╠ 2560 | ═ 2550 | ╬ 256C | ╧ 2567 |
D. | Š 160 | ╤ 2564 | č 10D | Č 10C | ╘ 2558 | ╒ 2552 | ģ 123 | Ī 12A | ī 12B | ┘ 2518 | ┌ 250C | █ 2588 | ▄ 2584 | ū 16B | Ū 16A | ▀ 2580 |
E. | р 440 | с 441 | т 442 | у 443 | ф 444 | х 445 | ц 446 | ч 447 | ш 448 | щ 449 | ъ 44A | ы 44B | ь 44C | э 44D | ю 44E | я 44F |
F. | Ē 112 | ē 113 | Ģ 122 | ķ 137 | Ķ 136 | ļ 13C | Ļ 13B | ž 17E | Ž 17D | ∙ 2219 | · B7 | √ 221A | Ņ 145 | š 161 | ■ 25A0 | A0 |
Примечания
[править | править код]- ↑ Брябрин В. М., Ландау И. Я., Неменман М. Е. О системе кодирования для персональных ЭВМ // Микропроцессорные средства и системы. — 1986. — № 4. — С. 61—63. Архивировано 8 июля 2018 года.
- ↑ Юрий Стариков. 15-летию Russian MS-DOS 4.01 посвящается . Дата обращения: 27 января 2015. Архивировано 4 декабря 2016 года.
- ↑ MSDN — Code Page 866 MS-DOS Cyrillic CIS 1 . Дата обращения: 16 октября 2008. Архивировано 20 февраля 2013 года.
- ↑ ГОСТ Р 34.303—92 (ИСО 4873—86) «Информационная технология. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации»