Girish Mahajan (Editor)

KOI character encodings

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

KOI (КОИ) is a family of several code pages for the Cyrillic script. The name stands for Kod Obmena Informatsiey (Russian: Код Обмена Информацией) which means "Code for Information Exchange".

Contents

A particular feature of the KOI code pages is that the text remains human-readable when the leftmost bit is stripped, should it inadvertently pass through equipment or software that can only deal with 7 bit wide characters. This is due to characters being placed in a special order (128 codepoints apart from the Latin letter they sound most similar to), which, however, does not correspond to the alphabetic order in any language that is written in Cyrillic and necessitates the use of lookup tables to perform sorting.

These encodings are derived from ASCII on the base of some correspondence between Latin and Cyrillic (nearly phonetical), which was already used in Russian dialect of Morse code and in MTK-2 telegraph code. The first 26 characters from А (0xE1) in KOI8-R are А, Б, Ц, Д, Е, Ф, Г, Х, И, Й, К, Л, М, Н, О, П, Я, Р, С, Т, У, Ж, В, Ь, Ы.

KOI7

The original KOI encoding was a 7-bit code page named KOI7 (КОИ-7), which did not contain lowercase letters. In KOI7, the codes of the 31 Russian uppercase letters are their KOI8 codes with the most significant bit cleared. Other code points are the same as in ASCII.

KOI8

Modern KOI code pages are 8-bit extensions of ASCII. This family of encodings is also known as KOI8, KOI 8 and KOI-8 (КОИ-8).

The family members are:

  • KOI8
  • KOI8-A
  • KOI8-B
  • KOI8-C (Central Asian)
  • KOI8-R / KOI8-RUSSIA for Russian and Bulgarian. (RFC 1489)
  • KOI8-U / KOI8-UKRAINE for Ukrainian (RFC 2319))
  • KOI8-RU for Ukrainian, Belorussian and Russian.
  • KOI8-T for Tajik.
  • KOI8-E / KOI8-CYRILLIC (GOST 19768-74 Roman / Cyrillic)
  • KOI8-F, United KOI8
  • KOI8-CS / KOI8-CS2 for Czech and Slovak (ČSN (Czech technical standard) 369103, devised by the Comecon. This encoded Latin with diacritics, as used in Czech and Slovak, rather than Cyrillic, but the basic idea was the same - text should remain legible with the 8-th bit cleared, thus e.g. Č became C etc.).
  • KOI8-K1 "Cyrillic-1" (defined in CSN 36 9103, ST SEV 358-88)
  • KOI8-L2 "Latin-2" (defined in CSN 36 9103), ISO IR 139 (similar, but not identical to ISO 8859-2 (1987))
  • KOI8-O for Old Russian.
  • EBCDIC-based character sets:

  • DKOI CS2 (defined in CSN 36 9103)
  • DKOI K1 (defined in CSN 36 9103, ST SEV 358-88)
  • DKOI K2 (defined in CSN 36 9103, ST SEV 358-88)
  • DKOI L2 (defined in CSN 36 9103)
  • References

    KOI character encodings Wikipedia