KOI character encodings

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".

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:

EBCDIC-based character sets:

References

  1. 1 2 3 Czyborra, Roman (1998-11-30) [1998-05-25]. "The Cyrillic Charset Soup". Archived from the original on 2016-12-03. Retrieved 2016-12-03.
  2. Flohr, Guido; Chernov, Andrey A. (2016) [2006]. "Locale::RecodeData::KOI_8 - Conversion routines for KOI-8". CPAN libintl-perl. 1.0. Archived from the original on 2017-01-15. Retrieved 2017-01-15.
  3. 1 2 3 da Cruz, Frank (2010-04-02). "Kermit and MIME Character-Set Names". The Kermit Project. Columbia University, New York, USA. Archived from the original on 2016-12-02. Retrieved 2016-12-02.
  4. Flohr, Guido (2016) [2006]. "Locale::RecodeData::KOI8_RU - Conversion routines for KOI8-RU". CPAN libintl-perl. Archived from the original on 2017-01-15. Retrieved 2017-01-15.
  5. "SBCS code page information - CPGID: 01167 / Name: Belarusian/Ukrainian KOI8-RU". IBM Software: Globalization: Coded character sets and related resources: Code pages by CPGID: Code page identifiers. IBM. C-H 3-3220-050. Archived from the original on 2017-02-18. Retrieved 2017-02-18.
  6. "CCSID information document; CCSID 1167; KOI8-RU". IBM. Archived from the original on 2017-02-18. Retrieved 2017-02-18.
  7. Leisher, Mark (2008) [1999-12-20]. "KOI8-RU Belorusian/Ukrainian Cyrillic to Unicode 2.1 mapping table". Department of Mathematical Sciences, New Mexico State University. Archived from the original on 2017-02-18. Retrieved 2017-02-18.
  8. Flohr, Guido; Davis, Michael (2016) [2006]. "Locale::RecodeData::KOI8_T - Conversion routines for KOI8-T". CPAN libintl-perl. Archived from the original on 2017-01-15. Retrieved 2017-01-15.
  9. Flohr, Guido (2016) [2006]. "Locale::RecodeData::GOST_19768_74 - Conversion routines for GOST_19768_74". CPAN libintl-perl. 1.0. Archived from the original on 2017-01-15. Retrieved 2017-01-15.
  10. http://segfault.kiev.ua/cyrillic-encodings/
  11. Leisher, Mark (2008) [1998-03-05]. "KOI8 Unified Cyrillic to Unicode 2.1 mapping table". Department of Mathematical Sciences, New Mexico State University. Archived from the original on 2017-02-18. Retrieved 2017-02-18.
  12. http://mlha.cz/unicode/
  13. 1 2 3 4 5 Petrlik, Lukas (1996-06-19). "The Czech and Slovak Character Encoding Mess Explained". cs-encodings-faq. 1.10. Archived from the original on 2016-06-21. Retrieved 2016-06-21.

Further reading

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.