KOI-7 (Russian: Код Обмена Информацией, 7 бит, romanized: Kod Obmena Informatsiey, 7 bit[1], КОИ-7) is a 7-bit character encoding, designed to cover Russian, which uses the Cyrillic alphabet.
It was first standardized in GOST 13052-67 (with the 2nd revision GOST 13052-74 / ST SEV 356-76) and GOST 27463-87 / ST SEV 356-86.
Shift Out (SO) and Shift In (SI) control characters are used in KOI-7, where SO starts printing Russian letters (KOI-7 N1), and SI starts printing Latin letters again (KOI-7 N0), or for lowercase and uppercase switching. This version is also known as KOI7-switched aka csKOI7switched.[2][3]
On ISO 2022 compatible computer terminals KOI7-switched can be activated by the escape sequence ESC ( @ ESC ) N LS0.[2]
KOI-7 was used on machines like the SM EVM (СМ ЭВМ) and DVK (ДВК); KOI-7 N2 was utilized in the machine-language of the Elektronika D3-28 as four-digit hexadecimal code, BESM-6, where it was called ВКД, (internal data code). The encodings were also used on RSX-11, RT-11 and similar systems.[4]
KOI-7 N0
KOI-7 N0[2] (КОИ-7 Н0[1]) is identical to the IRV set in ISO 646:1967.[2] Compared to US-ASCII, the dollar sign (“$”) at code point 24 (hex) was replaced by the universal currency sign “¤”, but this was not maintained in all cases, in particular not after the fall of the Iron Curtain. Likewise, the IRV set in ISO/IEC 646:1991 also changed the character back to a dollar sign.
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 1x | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 2x | SP | ! | “ | # | ¤/$ | % | & | ‘ | ( | ) | * | + | , | – | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
KOI-7 N1
KOI-7 N1 (КОИ-7 Н1[1]) was first standardized in GOST 13052-67,[5][6][7] and later also in ISO 5427.[2] It is sometimes referred to as “koi-0” as well.[6]
Compared to ASCII and ISO 646 uppercase and lowercase letters are swapped in order to make it easier to recognize Russian text when presented using ASCII.[6]
To trim the alphabet into chunks of 32 characters the dotted Ё/ë was dropped.[6] In order to avoid conflicts with ASCII’s and ISO 646’s definition as DEL and its usage as EOF marker (-1) in some systems, it dropped the “CAPITAL HARD SIGN” Ъ that would have naturally resided at this location.[6]
In a Bulgarian variant the unnecessary Russian “CAPITAL YERY” Ы at code point 121 was replaced by the “CAPITAL HARD SIGN” Ъ.[6]
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 1x | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 2x | SP | ! | “ | # | ¤/$ | % | & | ‘ | ( | ) | * | + | , | – | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | ю 044E
|
а 0430
|
б 0431
|
ц 0446
|
д 0434
|
е 0435
|
ф 0444
|
г 0433
|
х 0445
|
и 0438
|
й 0439
|
к 043A
|
л 043B
|
м 043C
|
н 043D
|
о 043E
|
| 5x | п 043F
|
я 044F
|
р 0440
|
с 0441
|
т 0442
|
у 0443
|
ж 0436
|
в 0432
|
ь 044C
|
ы 044B
|
з 0437
|
ш 0448
|
э 044D
|
щ 0449
|
ч 0447
|
ъ 044A
|
| 6x | Ю 042E
|
А 0410
|
Б 0411
|
Ц 0426
|
Д 0414
|
Е 0415
|
Ф 0424
|
Г 0413
|
Х 0425
|
И 0418
|
Й 0419
|
К 041A
|
Л 041B
|
М 041C
|
Н 041D
|
О 041E
|
| 7x | П 041F
|
Я 042F
|
Р 0420
|
С 0421
|
Т 0422
|
У 0423
|
Ж 0416
|
В 0412
|
Ь 042C
|
Ы/Ъ | З 0417
|
Ш 0428
|
Э 042D
|
Щ 0429
|
Ч 0427
|
DEL |
KOI-7 N2
KOI-7 N2 (КОИ-7 Н2[1]), like KOI-7 N1, was also standardized in GOST 13052-67.[7]
Kermit names it SHORT-KOI / short-koi.[8][9]
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 1x | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 2x | SP | ! | “ | # | ¤/$ | % | & | ‘ | ( | ) | * | + | , | – | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑/^ | _ |
| 6x | Ю 042E
|
А 0410
|
Б 0411
|
Ц 0426
|
Д 0414
|
Е 0415
|
Ф 0424
|
Г 0413
|
Х 0425
|
И 0418
|
Й 0419
|
К 041A
|
Л 041B
|
М 041C
|
Н 041D
|
О 041E
|
| 7x | П 041F
|
Я 042F
|
Р 0420
|
С 0421
|
Т 0422
|
У 0423
|
Ж 0416
|
В 0412
|
Ь 042C
|
Ы 042B
|
З 0417
|
Ш 0428
|
Э 042D
|
Щ 0429
|
Ч 0427
|
DEL |
See also
References
- ^ a b c d ГОСТ 27463-87. Системы обработки информации. 7-битные кодированные наборы символов (с Изменением N 1) [GOST 27463-87. Information processing systems. 7-bit coded character sets] (in Russian). Госстандарт СССР. 1987-10-29. Archived from the original on 2016-12-03. Retrieved 2016-12-02.
- ^ a b c d e Sokolov, Michael (2004-01-23). “Charset name: KOI7-switched”. International Free Computing Task Force (IFCTF). Archived from the original on 2016-12-03. Retrieved 2016-12-02.
- ^ Freed, Ned; Dürst, Martin, eds. (2013-12-20). “Character Sets”. RFC2978. Archived from the original on 2016-12-03. Retrieved 2016-12-03.
- ^ Nechayev, Valentin (2013) [2001]. “Review of 8-bit Cyrillic encodings universe”. Archived from the original on 2016-12-05. Retrieved 2016-12-05.
- ^ Clews, John (1988). Language Automation Worldwide – The Development of Character Set Standards (1 ed.). Sesame Computer Projects. ISBN 1-87009501-4.
- ^ a b c d e f Czyborra, Roman (1998-11-30) [1998-05-25]. “The Cyrillic Charset Soup”. Archived from the original on 2016-12-03. Retrieved 2016-12-03. [1] [2] [3] [4]
- ^ a b c d Hohlov, Yu. E. “Cyrillic Information Representation in Electronic Form – Character Set (Code Page) Tables”. Archived from the original on 2016-12-05. Retrieved 2016-12-05.
- ^ 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-03. Retrieved 2016-12-02.
- ^ a b “SHORT KOI (KOI-7)”. Kermit. Columbia University. Retrieved 2020-06-24.
Further reading
- 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. Archived from the original on 2017-02-18. Retrieved 2020-06-24.