Code page 866

Source: Wikipedia, the free encyclopedia.
Code page 866
US-ASCII
Based onAlternative code page
Other related encoding(s)(See below)

Code page 866 (

pseudographic symbols of code page 437 (unlike the "Main code page" or Code page 855) and maintains alphabetic 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), but with MS-DOS 6.22 it became available in any language version.

The

Windows-874 or Windows-125x) or KOI-8 variant.[9] Authors of new pages and the designers of new protocols are instructed to use UTF-8 instead.[10]

Two very similar but not identical encodings are standardised in GOST R 34.303-92[11] as KOI-8 N1 and KOI-8 N2 (not to be confused with the original KOI-8).

Character set

Each non-ASCII character is shown with its equivalent

q.v.
).

Code page 866[12][5][3][13][14][15] [16]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x NUL

263A

263B

2665

2666

2663

2660

2022

25D8

25CB

25D9

2642

2640

266A

266B

263C
1x
25BA

25C4

2195

203C

00B6
§

00A7

25AC

21A8

2191

2193

2192

2190

221F

2194

25B2

25BC
2x  SP 
!
"
#
$
%
&
'
(
)
*
+
,
-
. /
3x
0
1
2
3
4
5
6
7
8
9
: ; <
=
>
?
4x
@
A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z
[
\
]
^
_
6x
`
a b c d e f g h i j k l m n o
7x p q r s t u v w x y z
{
|
}
~

2302
8x
А

0410
Б

0411
В

0412
Г

0413
Д

0414
Е

0415
Ж

0416
З

0417
И

0418
Й

0419
К

041A
Л

041B
М

041C
Н

041D
О

041E
П

041F
9x
Р

0420
С

0421
Т

0422
У

0423
Ф

0424
Х

0425
Ц

0426
Ч

0427
Ш

0428
Щ

0429
Ъ

042A
Ы

042B
Ь

042C
Э

042D
Ю

042E
Я

042F
Ax
а

0430
б

0431
в

0432
г

0433
д

0434
е

0435
ж

0436
з

0437
и

0438
й

0439
к

043A
л

043B
м

043C
н

043D
о

043E
п

043F
Bx
2591

2592

2593

2502

2524

2561

2562

2556

2555

2563

2551

2557

255D

255C

255B

2510
Cx
2514

2534

252C

251C

2500

253C

255E

255F

255A

2554

2569

2566

2560

2550

256C

2567
Dx
2568

2564

2565

2559

2558

2552

2553

256B

256A

2518

250C

2588

2584

258C

2590

2580
Ex
р

0440
с

0441
т

0442
у

0443
ф

0444
х

0445
ц

0446
ч

0447
ш

0448
щ

0449
ъ

044A
ы

044B
ь

044C
э

044D
ю

044E
я

044F
Fx
Ё

0401
ё

0451
Є

0404
є

0454
Ї

0407
ї

0457
Ў

040E
ў

045E
°

00B0

2219
·
00B7

221A

2116
¤

00A4

25A0
NBSP
00A0
  Symbols and punctuation

Variants

There existed a few variants of the code page, but the differences were mostly in the last 16 code points (240–255).

Alternative code page

The original version of the code page by Bryabrin et al. (1986)[7] is called the "Alternative code page" (Russian: Альтернативная кодировка), to distinguish it from the "Main code page" (Russian: Основная кодировка) by the same authors. It supports only Russian and Bulgarian. It is mostly the same as code page 866, except for codes F2hex through F7hex (which code page 866 changes to Ukrainian and Belarusian letters) and codes F8hex through FBhex (where code page 866 matches code page 437 instead). The differing row is shown below.

Alternative code page[17]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Fx
Ё

0401
ё

0451
🮣

1FBA3
🮢

1FBA2
🮠

1FBA0
🮡

1FBA1

2192

2190

2193

2191
÷

00F7
±

00B1

2116
¤

00A4

25A0
NBSP
00A0
  Characters later changed by code page 866

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.[18] This version supports only Russian and Bulgarian. The differing row is shown below.

Modified CP 866
0 1 2 3 4 5 6 7 8 9 A B C D E F
Fx
Ё

0401
ё

0451

2265

2264

2320

2321
÷

00F7

2248
°

00B0

2219
·

00B7

221A

207F
²

00B2

25A0
NBSP
00A0
  Different from compliant code page 866 to match
OEM-US

GOST R 34.303-92

The GOST R 34.303-92 standard defines two variants, KOI-8 N1 and KOI-8 N2. These are not to be confused with the KOI-8 encoding, which they do not adhere to.

KOI-8 N2

KOI-8 N2 is the more extensive variant and matches code page 866 and the Alternative code page except for the last row or

ё (which was unchanged between the Alternative code page and code page 866) is also in a different location. KOI-8 N2's final stick is shown below.[11]

KOI-8 N2 (GOST R 34.303-92)
0 1 2 3 4 5 6 7 8 9 A B C D E F
Fx SHY

2116
Ґ

0490
ґ

0491
Ё

0401
ё

0451
Є

0404
є

0454
І

0406
і

0456
Ї

0407
ї

0457
Ў

040E
ў

045E

25A0
NBSP
00A0
  Different from code page 866 and Alternative code page

KOI-8 N1

The other variant, KOI-8 N1, is a subset of KOI-8 N2 which omits the non-Russian Cyrillic letters and mixed single/double lined

sticks are shown below.[11]

KOI-8 N1 (GOST R 34.303-92)
0 1 2 3 4 5 6 7 8 9 A B C D E F
Bx

2591

2592

2593

2502

2524

2563

2551

2557

255D

2510
Cx

2514

2534

252C

251C

2500

253C

255A

2554

2569

2566

2560

2550

256C
Dx

2518

250C

2588

2584

258C

2590

2580
Ex
р

0440
с

0441
т

0442
у

0443
ф

0444
х

0445
ц

0446
ч

0447
ш

0448
щ

0449
ъ

044A
ы

044B
ь

044C
э

044D
ю

044E
я

044F
Fx SHY

2116
Ё

0401
ё

0451

25A0
NBSP
00A0

Lithuanian variants

KBL

The KBL code page, unofficially known as Code page 771,

ё is not supported,[20] similarly to KOI-7
.

A modified version, Code page 773, which replaces the Cyrillic letters with Latvian and Estonian letters, also exists.[20]

KBL (Code page 771)[21][22]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Dx
2568

2564

2565

2559

2558

2552

2553

256B

256A

2518

250C

2588
Ą
0104
ą
0105
Č
010C
č
010D
Ex р
0440
с
0441
т
0442
у
0443
ф
0444
х
0445
ц
0446
ч
0447
ш
0448
щ
0449
ъ
044A
ы
044B
ь
044C
э
044D
ю
044E
я
044F
Fx Ę
0118
ę
0119
Ė
0116
ė
0117
Į
012E
į
012F
Š
0160
š
0161
Ų
0172
ų
0173
Ū
016A
ū
016B
Ž
017D
ž
017E

25A0
NBSP
00A0
  Different from code page 866 and Alternative code page

LST 1284

Lithuanian Standard LST 1284:1993, known as Code page 1119 or unofficially as Code page 772,

ё
is retained.

It accompanies LST 1283 (Code page 774/1118), which encodes the additional Lithuanian letters at the same locations as LST 1284, but is based on Code page 437 instead. It was later superseded by LST 1590-1 (Code page 775),[19] which encodes these Lithuanian letters in the same locations, but does not include Cyrillic letters, replacing them with Latvian and Estonian letters.[20]

LST 1284:1993 (Code page 772 / 1119)[23][24]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Bx
2591

2592

2593

2502

2524
Ą
0104
Č
010C
Ę
0118
Ė
0116

2563

2551

2557

255D
Į
012E
Š
0160

2510
Cx
2514

2534

252C

251C

2500

253C
Ų
0172
Ū
016A

255A

2554

2569

2566

2560

2550

256C
Ž
017D
Dx ą
0105
č
010D
ę
0119
ė
0117
į
012F
š
0161
ų
0173
ū
016B
ž
017E

2518

250C

2588

2584

258C

2590

2580
Ex р
0440
с
0441
т
0442
у
0443
ф
0444
х
0445
ц
0446
ч
0447
ш
0448
щ
0449
ъ
044A
ы
044B
ь
044C
э
044D
ю
044E
я
044F
Fx Ё
0401
ё
0451

2265

2264

201E

201C
÷
00F7

2248
°
00B0

2219
·
00B7

221A

207F
²
00B2

25A0
NBSP
00A0
  Different from "modified" code page 866

Ukrainian and Belarusian variants

Ukrainian standard RST 2018-91 is designated by IBM as Code page 1125 (CCSID 1125),

bullet character (∙) from F9hex to FEhex.[30][31]
The differing rows are shown below.

IBM code page 1125 (Ukrainian standard RST 2018-91)[27][32][33][34]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Fx
Ё

0401
ё

0451
Ґ

0490
ґ

0491
Є

0404
є

0454
І

0406
і

0456
Ї

0407
ї

0457
÷

00F7
±

00B1

2116
¤

00A4

25A0
NBSP
00A0
  Code page 1125 different from Alternative code page
IBM code page 1131 (Belarusian)[35][36][37]
0 1 2 3 4 5 6 7 8 9 A B C D E F
Fx
Ё

0401
ё

0451
Є

0404
є

0454
Ї

0407
ї

0457
Ў

040E
ў

045E
І

0406
і

0456
·

00B7
¤

00A4
Ґ

0490
ґ

0491

2219
NBSP
00A0
  Code page 1131 different from code page 866

Also, the so-called CP 866ukr code page is a modified version of CP866 with the replacement of Ўў by Іі. Unlike CP1125, it maintains full compatibility of Ukrainian letters with CP866, although Ґґ is missing. It is not included in the standard Windows distributions, but some users install a home-made patch

FAR Manager
) with filenames containing the Cyrillic Іі.

Euro sign updates

IBM code page/CCSID 808 is a variant of code page/CCSID 866; with the

IBM code page/CCSID 848 is a variant of code page/CCSID 1125 with the euro sign at FDhex, replacing ¤.[42][43][44]

IBM code page/CCSID 849 is a variant of code page/CCSID 1131 with the euro sign at FBhex, replacing ¤.[45][46][47]

Lehner–Czech modification

An unofficial modification used in software developed by

Kamenicky-based one for Czech and Slovak, a Mazovia variant for Polish and a seemingly-unique encoding for Lithuanian
. The modified row is shown below.

Lehner–Czech modification
0 1 2 3 4 5 6 7 8 9 A B C D E F
Fx
Ё

0401
ё

0451
Є

0404
є

0454
Ї

0407
ї

0457
Ў

040E
ў

045E
»

00BB
«

00AB
·

00B7
§

00A7

2116
¤

00A4

25A0
NBSP
00A0
  Different from code page 866

Latvian variant

A Latvian variant, supported by Star printers and FreeDOS, is code page 3012. This encoding is nicknamed "RusLat".[48]

CP3012
0 1 2 3 4 5 6 7 8 9 A B C D E F
Bx

2591

2592

2593

2502

2524
Ā
0100

2562
ņ

0146

2555

2563

2551

2557

255D
Ō

014C

255B

2510
Cx

2514

2534

252C

251C

2500

253C
ā
0101

255F

255A

2554

2569

2566

2560

2550

256C

2567
Dx Š
0160

2564
č
010D
Č
010C

2558

2552
ģ
0123
Ī

012A
ī

012B

2518

250C

2588

2584
ū

016B
Ū

016A

2580
Ex
р

0440
с

0441
т

0442
у

0443
ф

0444
х

0445
ц

0446
ч

0447
ш

0448
щ

0449
ъ

044A
ы

044B
ь

044C
э

044D
ю

044E
я

044F
Fx
Ē

0112
ē

0113
Ģ
0122
ķ
0137
Ķ
0136
ļ

013C
Ļ

013B
ž
017E
Ž
017D
ō

014D
·

00B7

221A
Ņ

0145
š
0161

25A0
NBSP
00A0
  Different from code page 866

FreeDOS

FreeDOS provides additional unofficial extensions of code page 866 for various non-Slavic languages:[49]

Code page 900

Before Microsoft's final code page for

Russian MS-DOS 5.0 LCD.CPI codepage information file.[51]

Notes

  1. Ґ
    . These are added in some modifications.
  2. І distinct from Latin I
    (although this is added in some modifications).
  3. ^ i.e. codes 240 through 255, or F0hex through FFhex

References

  1. ^ Character Sets, Internet Assigned Numbers Authority (IANA), 2018-12-12
  2. ^ "CCSID 866 information document". Archived from the original on 2016-03-27.
  3. ^ a b Steele, Shawn (1996-04-24). "CP866.TXT: cp866_DOSCyrillicRussian to Unicode table". Unicode Consortium.
  4. ^ "OS/2" (in Russian). Archived from the original on 2016-08-13. Retrieved 2016-06-19.
  5. ^ a b "Code page 866 information document". Archived from the original on 2016-03-16.
  6. ^ "Code Pages Supported by Windows: OEM Code Pages". Go Global Development Center. Microsoft. Archived from the original on 2011-11-02. Retrieved 2011-10-11.
  7. ^ a b (in Russian) Брябрин В. М., Ландау И. Я., Неменман М. Е. О системе кодирования для персональных ЭВМ // Микропроцессорные средства и системы. — 1986. — № 4. — С. 61–64.
  8. W3C
    . User agents must support the encodings defined in the WHATWG Encoding standard, including, but not limited to […]
  9. ^ a b van Kesteren, Anne. "Legacy single-byte encodings". Encoding Standard. WHATWG.
  10. ^ van Kesteren, Anne. "Names and labels". Encoding Standard. WHATWG.
  11. ^ a b c (in Russian) ГОСТ Р 34.303-92. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации. = 8-bit coded character sets. 8-bit code for information interchange.
  12. ^ "OEM 866". Go Global Development Center. Microsoft. Archived from the original on 2012-02-04. Retrieved 2011-10-17.
  13. ^ van Kesteren, Anne (2018-01-06). "Index index-ibm866". Encoding Standard. WHATWG.
  14. ^ Code Page CPGID 00866 (pdf) (PDF), IBM
  15. ^ Code Page CPGID 00866 (txt), IBM
  16. ^ International Components for Unicode (ICU), ibm-866_P100-1995.ucm, 2002-12-03
  17. ^ (in Russian) Брябрин В. М., Ландау И. Я., Неменман М. Е. О системе кодирования для персональных ЭВМ // Микропроцессорные средства и системы. — 1986. — № 4. — С. 64.
  18. ^ (in Russian) Фигурнов В. Э. IBM PC для пользователя. — 2-е изд. — М.: 1992. — С. 279.
  19. ^ a b c "Codepages: Comprehensive list". Aivosto.
  20. ^ a b c d "Rašmenų koduotės". Lietuvių kalba informacinėse technologijose (in Lithuanian).
  21. ^ "771 kodų lentelė" (in Lithuanian). Likit.
  22. ^ "771 kodų lentelė". Lietuvių kalba informacinėse technologijose – Rašmenų koduotės (in Lithuanian).
  23. ^ "772 kodų lentelė" (in Lithuanian). Likit.
  24. ^ "772 kodų lentelė". Lietuvių kalba informacinėse technologijose – Rašmenų koduotės (in Lithuanian).
  25. ^ "CCSID 1125 information document". Archived from the original on 2014-12-02.
  26. ^ Nechayev, Valentin (2013) [2001]. "Review of 8-bit Cyrillic encodings universe". Archived from the original on 2016-12-05.
  27. ^ a b Code Page CPGID 01125 (pdf) (PDF), IBM
  28. ^ "CCSID 1131 information document". Archived from the original on 2016-03-27.
  29. ^ "Code page 1131 information document". Archived from the original on 2016-03-17.
  30. ^ IBM. "Code page identifiers: CP 01131". IBM Globalization. Archived from the original on 2016-03-17.
  31. ^ IBM. "Code Page 01131" (PDF). Archived from the original (PDF) on 2015-07-08.
  32. ^ Code Page CPGID 01125 (txt), IBM
  33. ^ International Components for Unicode (ICU), ibm-1125_P100-1997.ucm, 2002-12-03
  34. ^ (in Ukrainian) РСТ УРСР 2018-91. Система обробки інформації. Кодування символів української абетки 8-бітними кодами.
  35. ^ Code Page CPGID 01131 (pdf) (PDF), IBM
  36. ^ Code Page CPGID 01131 (txt), IBM
  37. ^ International Components for Unicode (ICU), ibm-1131_P100-1997.ucm, 2002-12-03
  38. ^ "Linux Wine + Far2l Ukrainian cp866".
  39. ^ "CCSID 808 information document". Archived from the original on 2014-12-01.
  40. ^ Code Page CPGID 00808 (pdf) (PDF), IBM
  41. ^ Code Page CPGID 00808 (txt), IBM
  42. ^ "CCSID 848 information document". Archived from the original on 2014-12-01.
  43. ^ Code Page CPGID 00848 (pdf) (PDF), IBM
  44. ^ Code Page CPGID 00848 (txt), IBM
  45. ^ "CCSID 849 information document". Archived from the original on 2016-03-26.
  46. ^ Code Page CPGID 00849 (pdf) (PDF), IBM
  47. ^ Code Page CPGID 00849 (txt), IBM
  48. ^ "LC-8021 Dot Matrix Printer, User's Manual" (PDF). Archived from the original (PDF) on 2020-09-29. Retrieved 2020-05-13.
  49. ^ "CPIDOS - CPX files (Code Page Information) Pack v3.0 - DOS codepages". FreeDOS. Archived from the original on 2018-05-12. Retrieved 2018-01-30.
  50. ^ 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-04. Retrieved 2014-05-07.
  51. ^ Paul, Matthias R. (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 2020-06-04.