# KOI-7

KOI-7 (КОИ-7) is a 7-bit character encoding, designed to cover Russian, which uses the Cyrillic alphabet.
In Russian, KOI-7 stands for Kod Obmena Informatsiey, 7 bit (Код Обмена Информацией, 7 бит) which means "Code for Information Exchange, 7 bit".
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.
On ISO 2022 compatible computer terminals KOI7-switched can be activated by the escape sequence ESC ( @ ESC ) N LS0.
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 [ru] (Elektronika D3-28) as four-digit hexadecimal code, БЭСМ-6 [ru] (BESM-6), where it was called ВКД, (internal data code). The encodings were also used on RSX-11, RT-11 and similar systems.

## KOI-7 N0

KOI-7 N0 (КОИ-7 Н0) is identical to the IRV set in ISO 646:1967. 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.
KOI-7 N0 :
| | 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) was first standardized in GOST 13052-67, and later also in ISO 5427. It is sometimes referred to as "koi-0" as well.
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.
To trim the alphabet into chunks of 32 characters the dotted Ё/ë was dropped. 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.
In a Bulgarian variant the unnecessary Russian "CAPITAL YERY" Ы at code point 121 was replaced by the "CAPITAL HARD SIGN" Ъ.
KOI-7 N1 :
| | 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), like KOI-7 N1, was also standardized in GOST 13052-67.
Kermit names it SHORT-KOI / short-koi.
KOI-7 N2 :
| | 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 |