Sample Page

KOI8-RU is an 8-bit character encoding, designed to cover Russian, Ukrainian, and Belarusian which use a Cyrillic alphabet. It is closely related to KOI8-R, which covers Russian and Bulgarian, but replaces ten box drawing characters with five Ukrainian and Belarusian letters Ґ, Є, І, Ї, and Ў in both upper case and lower case. It is even more closely related to KOI8-U, which does not include Ў but otherwise makes the same letter replacements. The additional letter allocations are matched by KOI8-E, except for Ґ which is added to KOI8-F.

In IBM, KOI8-RU is assigned code page/CCSID 1167.[1][2]

KOI8 remains much more commonly used than ISO 8859-5, which never really caught on.[citation needed] Another common Cyrillic character encoding is Windows-1251. In the future, both may eventually give way to Unicode.

KOI8 stands for Kod obmena informatsiey, 8 bit (Russian: Код обмена информацией, 8 бит) which means “Code for Information Exchange, 8 bit”.

The KOI8 character sets have the property that the Russian Cyrillic letters are in pseudo-Roman order rather than the natural Cyrillic alphabetical order as in ISO 8859-5. Although this may seem unnatural, it has the useful property that if the eighth bit is stripped, the text can still be read (or at least deciphered) in case-reversed transliteration on an ordinary ASCII terminal. For instance, “Код Обмена Информацией” in KOI8-RU becomes kOD oBMENA iNFORMACIEJ (the Russian meaning of the “KOI” acronym) if the 8th bit is stripped.

Character set

The following table shows the KOI8-RU encoding. Each character is shown with its equivalent Unicode code point.

KOI8-RU[3][4][5]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x
1x
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 { | } ~
8x
2500
2502
250C
2510
2514
2518
251C
2524
252C
2534
253C
2580
2584
2588
258C
2590
9x
2591
2592
2593
[a]
201C
25A0
2219
201D
[a]
2014
2116
[a]
2122
NBSP »
00BB
®
00AE
«
00AB
·
00B7
¤
00A4
Ax
2550
2551
2552
ё
0451
є[b][c]
0454
2554
і[b][c]
0456
ї[b][c]
0457
2557
2558
2559
255A
255B
ґ[b]
0491
ў[c]
045E
255E
Bx
255F
2560
2561
Ё
0401
Є[b][c]
0404
2563
І[b][c]
0406
Ї[b][c]
0407
2566
2567
2568
2569
256A
Ґ[b]
0490
Ў[c]
040E
©
00A9
Cx ю
044E
а
0430
б
0431
ц
0446
д
0434
е
0435
ф
0444
г
0433
х
0445
и
0438
й
0439
к
043A
л
043B
м
043C
н
043D
о
043E
Dx п
043F
я
044F
р
0440
с
0441
т
0442
у
0443
ж
0436
в
0432
ь
044C
ы
044B
з
0437
ш
0448
э
044D
щ
0449
ч
0447
ъ
044A
Ex Ю
042E
А
0410
Б
0411
Ц
0426
Д
0414
Е
0415
Ф
0424
Г
0413
Х
0425
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
Fx П
041F
Я
042F
Р
0420
С
0421
Т
0422
У
0423
Ж
0416
В
0412
Ь
042C
Ы
042B
З
0417
Ш
0428
Э
042D
Щ
0429
Ч
0427
Ъ
042A
  Differences from KOI8-R
  1. ^ a b c Changed relative to KOI8-R to match Windows-1251.
  2. ^ a b c d e f g h Changed relative to KOI8-R to match KOI8-U.
  3. ^ a b c d e f g h Changed relative to KOI8-R to match KOI8-E.

Although RFC 2319 says that character 0x95 should be U+2219 (∙), it may also be U+2022 (•) to match the bullet character in Windows-1251.

Some references have a typo and incorrectly state that character 0xB4 is U+0403, rather than the correct U+0404. This typo is present in Appendix A of RFC 2319 (but the table in the main text of the RFC gives the correct mapping).

See also

References

  1. ^ “Code page 1167 information document”. Archived from the original on 2017-01-16.
  2. ^ “CCSID 1167 information document”. Archived from the original on 2016-03-27.
  3. ^ Leisher, Mark (1999-12-20), KOI8-RU Belarusian/Ukrainian Cyrillic to Unicode 2.1 mapping table, KOI8RU.TXT, archived from the original on 2020-07-28, retrieved 2020-04-29
  4. ^ Code Page CPGID 01167 (pdf) (PDF), IBM
  5. ^ Code Page CPGID 01167 (txt), IBM