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.