Family of several code pages for the Cyrillic script
KOI (Russian:КОИ, fromкод обмена информацией,kod obmena informatsiey,'code for information exchange') is a family of severalcode pages for theCyrillic script.
A particular feature of the KOI code pages is that the text remains human-readable when the leftmostbit 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 oflookup tables to performsorting.
These encodings are derived fromASCII on the base of some correspondence between Latin and Cyrillic (nearly phonetical), which was already used inRussian dialect of Morse code and inMTK-2 telegraph code. The first 26 characters from А (0xE1) in KOI8-R are А, Б, Ц, Д, Е, Ф, Г, Х, И, Й, К, Л, М, Н, О, П, Я, Р, С, Т, У, Ж, В, Ь, Ы, З.
The original KOI encoding (1967) was a 7-bit code page namedKOI-7 (КОИ-7), which did not contain lowercase letters.In KOI-7, the codes of the 31 or 32 Russian letters are ordered according to the Latin letters. Other code points are the same as inASCII (however, thedollar sign $ (code point 24hex) may be replaced by theuniversal currency sign ¤).
KOI-8 (КОИ-8), standardized in 1974 asGOST 19768, is an 8-bitextension of ASCII.[1][2] Originally it only included 32 lowercase and 31 uppercase Russian letters.
Later derivatives of KOI-8 constitute the family of encodings variously known asKOI8,KOI 8 andKOI-8.
KOI8-F, KOI-8 Unified. Includes the letter allocations from both KOI8-U and KOI8-E, with a subset of the pseudographics from KOI8-R.[13][14] (FreeDOSCode page 60270)
KOI8-K1 "Cyrillic-1" (defined in CSN 36 9103, ST SEV 358–88)
Additionally,GOST R 34.303-92 defines "KOI-8 V1" which isISO-IR-153, and "KOI-8 N1" and "KOI-8 N2" which are variants ofCode page 866.[16] These do not follow the KOI-8 layout.
DKOI is anEBCDIC-based encoding used inES EVM mainframes. It has been defined by several standards: GOST 19768-74 / ST SEV 358–76, ST SEV 358-88 / GOST 19768–93, CSN 36 9103.[17]
There are two variants:
DKOI K1 (ДКОИ К1), each Cyrillic letter is given its own code point.
DKOI K2 (ДКОИ К2), some Cyrillic letters (А, В, Е, К, М, Н, О, Р, С, Т, Х, а, е, о, р, с, у, х) are merged with visually identical Latin letters.
Some encodings are called KOI, but define Latin alphabets:
KOI8-CS[18] /KOI8-CS2[17] forCzech andSlovak (ČSN (Czech technical standard) 369103, devised by theComecon. This encoded Latin withdiacritics, 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-L2 "Latin-2" (defined in CSN 36 9103), ISO IR 139[19] (almost identical toISO 8859-2 (1987), but has the dollar sign and currency sign swapped)
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. Retrieved2017-02-18.
"Kodierungen und Zeichensätze" [Encodings and character sets].Robotron Technik (Virtual computer museum) (in German). 2016-11-29. ASCII-Code / KOI-Code. Retrieved2017-02-21.