KOI8-R explained

KOI8-R
Alias:cp878 (code page 878)
Lang:Russian, Bulgarian
Classification:8-bit KOI, extended ASCII
Basedon:KOI-8
Extends:KOI8-B
Otherrelated:KOI8-U, KOI8-RU

KOI8-R (RFC 1489) is an 8-bit character encoding, derived from the KOI-8 encoding by the programmer Andrei Chernov in 1993 and designed to cover Russian, which uses a Cyrillic alphabet. KOI8-R was based on Russian Morse code, which was created from a phonetic version of Latin Morse code. As a result, Russian Cyrillic letters are in pseudo-Roman order rather than the normal Cyrillic alphabetical order. Although this may seem unnatural, if the 8th bit is stripped, the text is partially readable in ASCII and may convert to syntactically correct KOI-7. For example, "Код Обмена Информацией" in KOI8-R becomes kOD oBMENA iNFORMACIEJ (the Russian meaning of the "KOI" acronym).

KOI8 stands for Kod Obmena Informatsiey, 8 bit (Russian: Код Обмена Информацией, 8 бит) which means "Code for Information Exchange, 8 bit". In Microsoft Windows, KOI8-R is assigned the code page number 20866. In IBM, KOI8-R is assigned code page 878. KOI8-R also happens to cover Bulgarian, but has not been used for that purpose since CP1251 was accepted. The use of these older code pages is being replaced with Unicode as a more common way to represent Cyrillic together with other languages.

Unicode is preferred to KOI-8 and its variants or other Cyrillic encodings in modern applications, especially on the Internet, making UTF-8 the dominant encoding for web pages. KOI8-R, the most popular variant, is used by less than 0.004% of websites which are mainly Russian and Bulgarian. However, both groups prefer other encodings. For further discussion of Unicode's complete coverage of 436 Cyrillic letters/code points, including for Old Cyrillic, and how single-byte character encodings, such as Windows-1251 and KOI8 variants, cannot provide this, see Cyrillic script in Unicode.

Character set

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

See also

Further reading

External links