KOI-7 (КОИ-7) is a 7-bit character encoding, designed to cover Russian, which uses the Cyrillic alphabet.
Kermit | SHORT-KOI |
---|---|
Alias(es) | KOI-7 N2, ВКД |
Language(s) | Russian |
Standard | GOST 13052, GOST 27463 |
Classification | 7-bit KOI encoding |
Preceded by | MTK-2 |
Succeeded by | KOI-8 |
Other related encoding(s) | YUSCII, ISO 646 |
MIME / IANA | KOI7-switched |
---|---|
Alias(es) | csKOI7switched |
Language(s) | Russian |
Standard | GOST 13052, GOST 27463 |
Classification | 7-bit stateful KOI encoding |
Transforms / Encodes | ISO 646:IRV (shift-in) KOI-7 N1 (shift-out) |
Preceded by | MTK-2 |
Succeeded by | KOI-8 |
Other related encoding(s) | YUSCII, ISO 5427 |
In Russian, KOI-7 stands for Kod Obmena Informatsiey, 7 bit (Код Обмена Информацией, 7 бит) which means "Code for Information Exchange, 7 bit".[1]
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 Электроника Д3-28 (Elektronika D3-28) as four-digit hexadecimal code, БЭСМ-6 (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
editKOI-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
editKOI-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
editKOI-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
editReferences
edit- ^ 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
edit- 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.