KOI character encodings: Difference between revisions
imported>Monkbot |
imported>Avessa m language templates |
||
| Line 1: | Line 1: | ||
{{Short description|Family of several code pages for the Cyrillic script}} | {{Short description|Family of several code pages for the Cyrillic script}} | ||
'''KOI''' ( | '''KOI''' ({{Langx|ru|КОИ}}, from {{langx|ru|код обмена информацией|kod obmena informatsiey|code for information exchange|label=none}}) is a family of several [[code page]]s for the [[Cyrillic script]]. | ||
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 table]]s to perform [[Sorting algorithm|sorting]]. | 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 table]]s to perform [[Sorting algorithm|sorting]]. | ||
Latest revision as of 12:34, 21 June 2025
Template:Short description KOI (Template:Langx, from Template:Langx) is a family of several code pages for the Cyrillic script.
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 А, Б, Ц, Д, Е, Ф, Г, Х, И, Й, К, Л, М, Н, О, П, Я, Р, С, Т, У, Ж, В, Ь, Ы, З.
KOI-7
Script error: No such module "Labelled list hatnote". The original KOI encoding (1967) was a 7-bit code page named KOI-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 in ASCII (however, the dollar sign $ (code point 24hex) may be replaced by the universal currency sign ¤).
Script error: No such module "anchor".KOI-8
Script error: No such module "Labelled list hatnote". KOI-8 (КОИ-8), standardized in 1974 as GOST 19768, is an 8-bit extension 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 as KOI8, KOI 8 and KOI-8.
The family members are:
- KOI8-B (with Ёё and Ъ)[1]
- KOI8-R / KOI8-RUSSIA for Russian and Bulgarian (RFC 1489).[3] (Code page 878)
- KOI8-U / KOI8-UKRAINE for Ukrainian (RFC 2319).[3] (Code page 1168)
- KOI8-RU for Ukrainian, Belorussian and Russian.[4][5][6][7][8] (Code page 1167)
- KOI8-T for Tajik.[9] (FreeDOS Code page 62318)
- KOI8-C, also KOI8-CA, a proposal for Caucasus and Central Asia; hardly ever been used.[10] (FreeDOS Code page 61294)
- ISO-IR-111 / KOI8-E[11] (ECMA-113 (1st ed., 1986),[12] multilingual for Slavic languages).
- 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] (FreeDOS Code page 60270)
- KOI8-K1 "Cyrillic-1" (defined in CSN 36 9103, ST SEV 358–88)
- KOI8-O (formerly KOI8-C) for Old Russian orthography.[15] (FreeDOS Code page 63342)
Additionally, GOST R 34.303-92 defines "KOI-8 V1" which is ISO-IR-153, and "KOI-8 N1" and "KOI-8 N2" which are variants of Code page 866.[16] These do not follow the KOI-8 layout.
Script error: No such module "anchor".DKOI
Script error: No such module "Labelled list hatnote". Script error: No such module "Labelled list hatnote". DKOI is an EBCDIC-based encoding used in ES 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.
Latin variants
Some encodings are called KOI, but define Latin alphabets:
- KOI8-CS[18] / KOI8-CS2[17] 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-L2 "Latin-2" (defined in CSN 36 9103), ISO IR 139[19] (almost identical to ISO 8859-2 (1987), but has the dollar sign and currency sign swapped)
- DKOI CS2 (defined in CSN 36 9103)[17]
- DKOI L2 (defined in CSN 36 9103)[17]
References
Further reading
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
External links
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
Template:Cyrillic encodings Template:Character encoding
- ↑ a b Cite error: Invalid
<ref>tag; no text was provided for refs namedCzyborra_1998_Cyrillic - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedFlohr_2016_KOI8 - ↑ a b Cite error: Invalid
<ref>tag; no text was provided for refs namedCruz_2010_Kermit - ↑ Template:Cite report
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedFlohr_2016_KOI8-RU - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedIBM_1167 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedIBM_1167_2 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedLeisher_1998_KOI8-RU - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedFlohr_2016_KOI8-T - ↑ Discussion
- ↑ Script error: No such module "citation/CS1".
- ↑ ECMA-113. 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Cyrillic Alphabet (1st ed., June 1986)
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedSegfault - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedLeisher_1998_KOI8-UNI - ↑ Template:Cite report
- ↑ Template:In lang ГОСТ Р 34.303-92. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации. = 8-bit coded character sets. 8-bit code for information interchange.
- ↑ a b c d Cite error: Invalid
<ref>tag; no text was provided for refs namedPetrlik_1996_CZ-Encodings - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedr1234 - ↑ ISO-IR-139