CP866
CP866 (назва найпоширенішого сучасного стандарту) чи «Альтернати́вне кодува́ння» (назва початкового варіанту), DOS кирилиця — створена на основі CP437 кодова сторінка, де всі специфічні західноєвропейські символи у другій половині замінено кирилицею, лишаючи псевдографічні символи незмінними. Таким чином, це не псує вигляду програм, що використовують для роботи текстові вікна, а також забезпечує використання в них символів кирилиці.
Історично існувало багато варіантів альтернативного кодування, але всі відмінності стосуються лише області 0xF0 — 0xFF (240—255). Використовувались різноманітні локалізації-саморобки, що писались незалежно окремими програмістами, поширювались за знайомством і через рідкісні комп'ютерні центри.
Остаточним стандартом стало кодування IBM CP866, підтримку якого було додано в 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) — кодуванням Юнікод.
Нижня частина таблиць кодування (латиниця) повністю відповідає кодуванню ASCII. В приведених таблицях числа під буквами позначають шістнадцятковий код букви в Юнікоді.
.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 може використовуватись для української й білоруської мов, оскільки включає символи Єє Її Ўў, але в ній нема кириличної Іі, тому доводиться замість неї використовувати латинську Ii; також відсутня Ґґ.
Початковий варіант «альтернативного кодування» містив лише літери російського алфавіту. Поширене в наш час кодування CP866 не має літери Ґґ, а відсутність у ньому кириличної Іі стає частою причиною несумісностей з іншими кириличними кодуваннями. Це стало причиною розробки українських кодувань, які усували ці недоліки.
(Тут і далі показані лише останні рядки таблиць, оскільки решта збігається.)
RUSCII, або CP1125 (не слід плутати з CP1251), CP866NAV, українське кодування ГОСТ:
.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 |
На відміну від CP866, включає українські літери Ґґ Іі. Білоруська Ўў відсутня. Було створене на основі «альтернативного кодування» до широкого розповсюдження сучасної CP866, тому коди символів Єє Її в цих кодуваннях відрізняються. Було прийняте як український державний стандарт кодування для 8-бітних символів (РСТ 2018-91). З поширенням ОС Windows, до якої підтримки цього кодування включено не було, втратило значення (хоча може продовжувати використовуватись у створених раніше базах даних, у т.ч. і в державних установах).
Також деякого розповсюдження набуло т. зв. CP 866ukr — модифікований варіант CP866 з заміною Ўў на Іі. На відміну від CP1125, зберігає повну сумісність українських літер із CP866, хоча Ґґ відсутня. До стандартного комплекту Windows не входить, але деякі користувачі встановлюють саморобний патч[1], що дозволяє, використовуючи це кодування, працювати в програмах для командного рядка (таких як FAR Manager) із іменами файлів, що містять кириличну Іі.
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F− |
Ё 401 |
ё 451 |
Є 404 |
є 454 |
Ї 407 |
ї 457 |
І 406 |
і 456 |
° B0 |
∙ 2219 |
· B7 |
√ 221A |
№ 2116 |
¤ A4 |
■ 25A0 |
A0 |
Найпоширеніший варіант до появи 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 |
Альтернативне кодування відповідно до ГОСТ 19768-87 (за набором символів збігається з основним кодуванням; у позиціях 0xF2—0xF5 мають бути прямі діагональні лінії):
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F− |
Ё 401 |
ё 451 |
╭ 256D |
╮ 256E |
╯ 256F |
╰ 2570 |
→ 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 |
- MSDN — Code Page 866 MS-DOS Cyrillic CIS 1 [Архівовано 20 лютого 2013 у Wayback Machine.]
- OEM 866
- Cyrillic encodings (charsets). Small description [Архівовано 5 грудня 2016 у Wayback Machine.]
- АОП : Кирилічні кодировки [Архівовано 24 липня 2016 у Wayback Machine.]
- ↑ Linux Wine + Far2l Ukrainian cp866. alter.org.ua (ua) . Процитовано 18 липня 2023.