Code page 866
Code page 866 (CP 866; Russian: Альтернативная кодировка) is a code page used under DOS and OS/2[1] to write Cyrillic script.[2] It is based on the "alternative code page" developed in 1986 by a research group at the Academy of Science of the USSR.[3] The code page was widely used during the DOS era because it preserves the pseudographic symbols of code page 437 (unlike the "Main code page" or Windows-1251) and maintains alphabetical order (although non-contiguously) of Cyrillic letters (unlike KOI8-R). Initially, this encoding was only available in the Russian version of MS-DOS 4.01 (1990) and since MS-DOS 6.22 in any language version.
Not identical, but two very similar encodings are registered in GOST R 34.303-92[4] as KOI-8 N1 and KOI-8 N2 (not to be confused with the original KOI-8).
Character set
Each character is shown with its equivalent Unicode code point and its decimal code point.
Letter Number Punctuation Symbol Other undefined
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ | NUL 0000 0 |
☺ 263A 1 |
☻ 263B 2 |
♥ 2665 3 |
♦ 2666 4 |
♣ 2663 5 |
♠ 2660 6 |
• 2022 7 |
◘ 25D8 8 |
○ 25CB 9 |
◙ 25D9 10 |
♂ 2642 11 |
♀ 2640 12 |
♪ 266A 13 |
♫ 266B 14 |
☼ 263C 15 |
1_ | ► 25BA 16 |
◄ 25C4 17 |
↕ 2195 18 |
‼ 203C 19 |
¶ 00B6 20 |
§ 00A7 21 |
▬ 25AC 22 |
↨ 21A8 23 |
↑ 2191 24 |
↓ 2193 25 |
→ 2192 26 |
← 2190 27 |
∟ 221F 28 |
↔ 2194 29 |
▲ 25B2 30 |
▼ 25BC 31 |
2_ | SP 0020 32 |
! 0021 33 |
" 0022 34 |
# 0023 35 |
$ 0024 36 |
% 0025 37 |
& 0026 38 |
' 0027 39 |
( 0028 40 |
) 0029 41 |
* 002A 42 |
+ 002B 43 |
, 002C 44 |
- 002D 45 |
. 002E 46 |
/ 002F 47 |
3_ | 0 0030 48 |
1 0031 49 |
2 0032 50 |
3 0033 51 |
4 0034 52 |
5 0035 53 |
6 0036 54 |
7 0037 55 |
8 0038 56 |
9 0039 57 |
: 003A 58 |
; 003B 59 |
< 003C 60 |
= 003D 61 |
> 003E 62 |
? 003F 63 |
4_ | @ 0040 64 |
A 0041 65 |
B 0042 66 |
C 0043 67 |
D 0044 68 |
E 0045 69 |
F 0046 70 |
G 0047 71 |
H 0048 72 |
I 0049 73 |
J 004A 74 |
K 004B 75 |
L 004C 76 |
M 004D 77 |
N 004E 78 |
O 004F 79 |
5_ | P 0050 80 |
Q 0051 81 |
R 0052 82 |
S 0053 83 |
T 0054 84 |
U 0055 85 |
V 0056 86 |
W 0057 87 |
X 0058 88 |
Y 0059 89 |
Z 005A 90 |
[ 005B 91 |
\ 005C 92 |
] 005D 93 |
^ 005E 94 |
_ 005F 95 |
6_ | ` 0060 96 |
a 0061 97 |
b 0062 98 |
c 0063 99 |
d 0064 100 |
e 0065 101 |
f 0066 102 |
g 0067 103 |
h 0068 104 |
i 0069 105 |
j 006A 106 |
k 006B 107 |
l 006C 108 |
m 006D 109 |
n 006E 110 |
o 006F 111 |
7_ | p 0070 112 |
q 0071 113 |
r 0072 114 |
s 0073 115 |
t 0074 116 |
u 0075 117 |
v 0076 118 |
w 0077 119 |
x 0078 120 |
y 0079 121 |
z 007A 122 |
{ 007B 123 |
| 007C 124 |
} 007D 125 |
~ 007E 126 |
⌂ 2302 127 |
8_ | А 0410 128 |
Б 0411 129 |
В 0412 130 |
Г 0413 131 |
Д 0414 132 |
Е 0415 133 |
Ж 0416 134 |
З 0417 135 |
И 0418 136 |
Й 0419 137 |
К 041A 138 |
Л 041B 139 |
М 041C 140 |
Н 041D 141 |
О 041E 142 |
П 041F 143 |
9_ | Р 0420 144 |
С 0421 145 |
Т 0422 146 |
У 0423 147 |
Ф 0424 148 |
Х 0425 149 |
Ц 0426 150 |
Ч 0427 151 |
Ш 0428 152 |
Щ 0429 153 |
Ъ 042A 154 |
Ы 042B 155 |
Ь 042C 156 |
Э 042D 157 |
Ю 042E 158 |
Я 042F 159 |
A_ | а 0430 160 |
б 0431 161 |
в 0432 162 |
г 0433 163 |
д 0434 164 |
е 0435 165 |
ж 0436 166 |
з 0437 167 |
и 0438 168 |
й 0439 169 |
к 043A 170 |
л 043B 171 |
м 043C 172 |
н 043D 173 |
о 043E 174 |
п 043F 175 |
B_ | ░ 2591 176 |
▒ 2592 177 |
▓ 2593 178 |
│ 2502 179 |
┤ 2524 180 |
╡ 2561 181 |
╢ 2562 182 |
╖ 2556 183 |
╕ 2555 184 |
╣ 2563 185 |
║ 2551 186 |
╗ 2557 187 |
╝ 255D 188 |
╜ 255C 189 |
╛ 255B 190 |
┐ 2510 191 |
C_ | └ 2514 192 |
┴ 2534 193 |
┬ 252C 194 |
├ 251C 195 |
─ 2500 196 |
┼ 253C 197 |
╞ 255E 198 |
╟ 255F 199 |
╚ 255A 200 |
╔ 2554 201 |
╩ 2569 202 |
╦ 2566 203 |
╠ 2560 204 |
═ 2550 205 |
╬ 256C 206 |
╧ 2567 207 |
D_ | ╨ 2568 208 |
╤ 2564 209 |
╥ 2565 210 |
╙ 2559 211 |
╘ 2558 212 |
╒ 2552 213 |
╓ 2553 214 |
╫ 256B 215 |
╪ 256A 216 |
┘ 2518 217 |
┌ 250C 218 |
█ 2588 219 |
▄ 2584 220 |
▌ 258C 221 |
▐ 2590 222 |
▀ 2580 223 |
E_ | р 0440 224 |
с 0441 225 |
т 0442 226 |
у 0443 227 |
ф 0444 228 |
х 0445 229 |
ц 0446 230 |
ч 0447 231 |
ш 0448 232 |
щ 0449 233 |
ъ 044A 234 |
ы 044B 235 |
ь 044C 236 |
э 044D 237 |
ю 044E 238 |
я 044F 239 |
F_ | Ё 0401 240 |
ё 0451 241 |
Є 0404 242 |
є 0454 243 |
Ї 0407 244 |
ї 0457 245 |
Ў 040E 246 |
ў 045E 247 |
° 00B0 248 |
∙ 2219 249 |
· 00B7 250 |
√ 221A 251 |
№ 2116 252 |
¤ 00A4 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
Variants
There existed a few variants of the code page, but the differences were mostly in the last 16 code points (240–255).
Code page 808
IBM code page 808 is a variant of code page 866; the only difference is the euro sign (€) in position FDhex (253) replacing the universal currency sign (¤).[7]
Alternative code page
The original version of the code page by Bryabrin et al. (1986),[3] called the "Alternative code page" (Russian: Альтернативная кодировка) to distinguish it from the "Main code page" (Russian: Основная кодировка) by the same authors.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F_ | Ё 0401 240 |
ё 0451 241 |
╭ 256D 242 |
╮ 2264 243 |
╯ 256F 244 |
╰ 2570 245 |
→ 2192 246 |
← 2190 247 |
↓ 2193 248 |
↑ 2191 249 |
÷ 00F7 250 |
± 00B1 251} |
№ 2116 252 |
¤ 00A4 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
Modified code page 866
An unofficial variant with code points 240–255 identical to code page 437. However, the letter Ёё is usually placed at 240 and 241.[8]
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F_ | Ё 0401 240 |
ё 0451 241 |
≥ 2265 242 |
≤ 2264 243 |
⌠ 2320 244 |
⌡ 2321 245 |
÷ 00F7 246 |
≈ 2248 247 |
° 00B0 248 |
∙ 2219 249 |
· 00B7 250 |
√ 221A 251} |
ⁿ 207F 252 |
² 00B2 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
Code page 1125/848
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F_ | Ё 0401 240 |
ё 0451 241 |
Ґ 0490 242 |
ґ 0491 243 |
Є 0404 244 |
є 0454 245 |
І 0406 246 |
і 0456 247 |
Ї 0407 248 |
ї 0457 249 |
÷ 00F7 250 |
± 00B1 251} |
№ 2116 252 |
¤/€ 00A4/20AC 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
Code page 1131/849
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F_ | Ё 0401 240 |
ё 0451 241 |
Є 0404 242 |
є 0454 243 |
Ї 0407 244 |
ї 0457 245 |
Ў 040E 246 |
ў 045E 247 |
І 0406 248 |
і 0456 249 |
· 00B7 250 |
¤/€ 00A4/20AC 251} |
Ґ 0490 252 |
ґ 0491 253 |
∙ 2219 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
GOST R 34.303-92
Two variants from GOST R 34.303-92. The first one, KOI-8 N1, leaves several code points empty for further internationalization (compare with code page 850).
The second one, KOI-8 N2, adds letters for Belarusian and Ukrainian. Code points 176–239 are identical to code page 866.
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B_ | ░ 2591 176 |
▒ 2592 177 |
▓ 2593 178 |
│ 2502 179 |
┤ 2524 180 |
181 |
182 |
183 |
184 |
╣ 2563 185 |
║ 2551 186 |
╗ 2557 187 |
╝ 255D 188 |
189 |
190 |
┐ 2510 191 |
C_ | └ 2514 192 |
┴ 2534 193 |
┬ 252C 194 |
├ 251C 195 |
─ 2500 196 |
┼ 253C 197 |
198 |
199 |
╚ 255A 200 |
╔ 2554 201 |
╩ 2569 202 |
╦ 2566 203 |
╠ 2560 204 |
═ 2550 205 |
╬ 256C 206 |
207 |
D_ | 208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
┘ 2518 217 |
┌ 250C 218 |
█ 2588 219 |
▄ 2584 220 |
▌ 258C 221 |
▐ 2590 222 |
▀ 2580 223 |
E_ | р 0440 224 |
с 0441 225 |
т 0442 226 |
у 0443 227 |
ф 0444 228 |
х 0445 229 |
ц 0446 230 |
ч 0447 231 |
ш 0448 232 |
щ 0449 233 |
ъ 044A 234 |
ы 044B 235 |
ь 044C 236 |
э 044D 237 |
ю 044E 238 |
я 044F 239 |
F_ | SHY 00AD 240 |
№ 2116 241 |
242 |
243 |
Ё 0401 244 |
ё 0451 245 |
246 |
247 |
248 |
249 |
250 |
251} |
252 |
253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
B_ | ░ 2591 176 |
▒ 2592 177 |
▓ 2593 178 |
│ 2502 179 |
┤ 2524 180 |
╡ 2561 181 |
╢ 2562 182 |
╖ 2556 183 |
╕ 2555 184 |
╣ 2563 185 |
║ 2551 186 |
╗ 2557 187 |
╝ 255D 188 |
╜ 255C 189 |
╛ 255B 190 |
┐ 2510 191 |
C_ | └ 2514 192 |
┴ 2534 193 |
┬ 252C 194 |
├ 251C 195 |
─ 2500 196 |
┼ 253C 197 |
╞ 255E 198 |
╟ 255F 199 |
╚ 255A 200 |
╔ 2554 201 |
╩ 2569 202 |
╦ 2566 203 |
╠ 2560 204 |
═ 2550 205 |
╬ 256C 206 |
╧ 2567 207 |
D_ | ╨ 2568 208 |
╤ 2564 209 |
╥ 2565 210 |
╙ 2559 211 |
╘ 2558 212 |
╒ 2552 213 |
╓ 2553 214 |
╫ 256B 215 |
╪ 256A 216 |
┘ 2518 217 |
┌ 250C 218 |
█ 2588 219 |
▄ 2584 220 |
▌ 258C 221 |
▐ 2590 222 |
▀ 2580 223 |
E_ | р 0440 224 |
с 0441 225 |
т 0442 226 |
у 0443 227 |
ф 0444 228 |
х 0445 229 |
ц 0446 230 |
ч 0447 231 |
ш 0448 232 |
щ 0449 233 |
ъ 044A 234 |
ы 044B 235 |
ь 044C 236 |
э 044D 237 |
ю 044E 238 |
я 044F 239 |
F_ | SHY 00AD 240 |
№ 2116 241 |
Ґ 0490 242 |
ґ 0491 243 |
Ё 0401 244 |
ё 0451 245 |
Є 0404 246 |
є 0454 247 |
І 0406 248 |
і 0456 249 |
Ї 0407 250 |
ї 0457 251} |
Ў 040E 252 |
ў 045E 253 |
■ 25A0 254 |
NBSP 00A0 255 |
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _E | _F |
FreeDOS
FreeDOS provides additional unofficial extensions of code page 866 for various non-Slavic languages:[14]
- 30002 - Cyrillic Tajik
- 30008 - Cyrillic Abkhaz and Ossetian
- 30010 - Cyrillic Gagauz and Moldovan
- 30011 - Cyrillic Russian Southern District (Kalmyk, Karachay-Balkar, Ossetian, North Caucasian)
- 30012 - Cyrillic Russian Siberian and Far Eastern Districts (Altai, Buryat, Khakas, Tuvan, Yakut, Tungusic, Paleo-Siberian)
- 30013 - Cyrillic Volga District - Turkic languages (Bashkir, Chuvash, Tatar)
- 30014 - Cyrillic Volga District - Finno-Ugric languages (Mari, Udmurt)
- 30015 - Cyrillic Khanty
- 30016 - Cyrillic Mansi
- 30017 - Cyrillic Northwestern District (Cyrillic Nenets, Latin Karelian, Latin Veps)
- 30018 - Latin Tatar and Cyrillic Russian
- 30019 - Latin Chechen and Cyrillic Russian
- 3012 - Latin Latvian and Cyrillic Russian ("RusLat")
- 58152 - Cyrillic Kazakh with Euro
- 58210 - Cyrillic Azeri
- 59234 - Cyrillic Tatar
- 60258 - Latin Azeri and Cyrillic Russian
- 62306 - Cyrillic Uzbek
Code page 900
Before Microsoft's final code page for Russian MS-DOS 4.01 was registered with IBM by Franz Rau of Microsoft as CP866 in January 1990, draft versions of it developed by Yuri Starikov (Юрий Стариков) of Dialogue were still called code page 900 internally. While the documentation was corrected to reflect the new name before the release of the product, sketches of earlier draft versions still named code page 900 and without Ukrainian and Belarusian letters, which had been added in autumn 1989, were published in the Russian press in 1990.[15] Code page 900 slipped through into the distribution of the Russian MS-DOS 5.0 LCD.CPI codepage information file.[16]
References
- ↑ "OS/2" (in Russian).
- ↑ "Code Pages Supported by Windows: OEM Code Pages". Go Global Development Center. Microsoft. Retrieved 2011-10-11.
- 1 2 (in Russian) Брябрин В. М., Ландау И. Я., Неменман М. Е. О системе кодирования для персональных ЭВМ // Микропроцессорные средства и системы. — 1986. — № 4. — С. 61–64.
- ↑ (in Russian) ГОСТ Р 34.303-92. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации. = 8-bit coded character sets. 8-bit code for information interchange.
- ↑ "OEM 866". Go Global Development Center. Microsoft. Retrieved 2011-10-17.
- ↑ "CP 00866". IBM Globalization.
- ↑ "CP 00808". IBM Globalization.
- ↑ (in Russian) Фигурнов В. Э. IBM PC для пользователя. — 2-е изд. — М.: 1992. — С. 279.
- ↑ "CP 01025". IBM Globalization.
- ↑ "CP 00848". IBM Globalization.
- ↑ (in Ukrainian) РСТ УРСР 2018-91. Система обробки інформації. Кодування символів української абетки 8-бітними кодами.
- ↑ "CP 01031". IBM Globalization.
- ↑ "CP 00849". IBM Globalization.
- ↑ "CPIDOS - CPX files (Code Page Information) Pack v3.0 - DOS codepages". FreeDOS.
- ↑ Starikov, Yuri (2005-04-11). "15-летию Russian MS-DOS 4.01 посвящается" [15 Years of Russian MS-DOS 4.01] (in Russian). Archived from the original on 2016-12-03. Retrieved 2014-05-07.
- ↑ Paul, Matthias (2001-06-10) [1995]. "Overview on DOS, OS/2, and Windows codepages" (CODEPAGE.LST file) (1.59 preliminary ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20.
Further reading
- Kornai, Andras; Birnbaum, David J.; da Cruz, Frank; Davis, Bur; Fowler, George; Paine, Richard B.; Paperno, Slava; Simonsen, Keld J.; Thobe, Glenn E.; Vulis, Dimitri; van Wingen, Johan W. (1993-03-13). "CYRILLIC ENCODING FAQ Version 1.3". 1.3. Retrieved 2017-02-18.