KOI

KOI (rusky КОИ, Код Обмена Информацией, ukrajinsky КОІ, Код Обміну Інформацією) je množina několika způsobů kódování textů v cyrilici. Pořadí písmen cyrilice není azbukové, ale abecední, aby text zůstal dostatečně čitelný i na zařízeních bez podpory kódování KOI. Existuje starší sedmibitová varianta kódování KOI7 a novější osmibitová varianta KOI8.

V bývalém Československu byla později množina kódování KOI8 rozšířena i o způsoby kódování latinky pro písmena, která nejsou součástí ASCII.

KOI7

KOI7 je sedmibitové kódování, které vychází z ASCII, ale místo malých písmen latinky obsahuje velká písmena cyrilice. KOI7 se používalo například na systémech RSX-11 a RT-11.[1]

## .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0. NUL
00
SOH
00
STX
02
ETX
03
EOT
04
ENQ
05
ACK
06
BEL
07
BS
08
HT
09
LF
0A
VT
0B
FF
0C
CR
0D
SO
0E
SI
0F
1. DLE
10
DC1
11
DC2
12
DC3
13
DC4
14
NAK
15
SYN
16
ETB
17
CAN
18
EM
19
SUB
1A
ESC
1B
FS
1C
GS
1D
RS
1E
US
1F
2.
20
!
21
"
22
#
23
¤
A4
%
25
&
26
'
27
(
28
)
29
*
2A
+
2B
,
2C
-
2D
.
2E
/
2F
3. 0
30
1
31
2
32
3
33
4
34
5
35
6
36
7
37
8
38
9
39
:
3A
;
3B
<
3C
=
3D
>
3E
?
3F
4. @
40
A
41
B
42
C
43
D
44
E
45
F
46
G
47
H
48
I
49
J
4A
K
4B
L
4C
M
4D
N
4E
O
4F
5. P
50
Q
51
R
52
S
53
T
54
U
55
V
56
W
57
X
58
Y
59
Z
5A
[
5B
\
5C
]
5D
^
5E
_
5F
6. Ю
042E
А
0410
Б
0411
Ц
0426
Д
0414
Е
0415
Ф
0424
Г
0413
Х
0425
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
7. П
041F
Я
042F
Р
0420
С
0421
Т
0422
У
0423
Ж
0416
В
0412
Ь
042C
Ы
042B
З
0417
Ш
0428
Э
042D
Щ
0429
Ч
0427
DEL
7F

Kromě toho byla definována varianta KOI7 se dvěma znakovými sadami, mezi kterými se v průběhu zpracování textů přepínalo. Výchozí znakovou sadou je znaková sada pro latinku ISO 646.irv:1983 a druhou znakovou sadou je znaková sada pro cyrilici ISO 5427.[2] Znak s kódem 16 osmičkově přepíná na znakovou sadu ISO 5427, znak s kódem 17 osmičkově přepíná na znakovou sadu ISO 646.[2] Znaková sada ISO 646 byla označována jako KOI-7 N0, znaková sada ISO 5427 byla označována jako KOI-7 N1.[2]

KOI8

Kódování KOI8 je osmibitové kódování, které zachovává ASCII, znaky cyrilice se nachází v horní polovině kódu (znaky 128 - 255). Původní kódování KOI8 definuje pouze vlastní písmena cyrilice a neobsahuje písmeno ё a velký tvrdý znak.[3] Stejně jako v ASCII se odpovídající kód velkých a malých písmen liší pouze v jednom bitu,[4][5] ovšem pro neruská písmena se nejedná o totožný bit a v tádžické variantě to neplatí pro úplně všechna písmena.

Postupem času vzniklo několik variant KOI8:

  • KOI8-R - pro kódování ruštiny,
  • KOI8-U - pro kódování ruštiny a ukrajinštiny,
  • KOI8-RU - pro kódování ruštiny, ukrajinštiny a běloruštiny,
  • KOI8-C - pro kódování neslovanských jazyků (označovaná jako kavkazská varianta),
  • KOI8-T - pro tádžičtinu,
  • KOI8-O - pro kódování staré ruštiny,
  • ISO-IR-111, KOI8-E - obsahuje chybu v kódování znaků AD a BD,
  • KOI8-Unified, KOI8-F - varianta navržená Fingertip Software.[6]
## .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
8.
2500

2502

250C

2510

2514

2518

251C

2524

252C

2534

253C

2580

2584

2588

258C

2590
8.
(KOI8-C)
ғ
493
җ
497
қ
49B
ҝ
49D
ң
4A3
ү
4AF
ұ
4B1
ҳ
4B3
ҷ
4B7
ҹ
4B9
һ
4BB

2580
ә
4D9
ӣ
4E3
ө
4E9
ӯ
4EF
8.
(KOI8-O)
Ђ
0402
Ѓ
0403
¸
00B8
ѓ
0453

201E

2026

2020
§
00A7

20AC
¨
00A8
Љ
0409

2039
Њ
040A
Ќ
040C
Ћ
040B
Џ
040F
8.
(KOI8-T)
қ
49B
ғ
493

201A
Ғ
492

2021
 
2030
ҳ
4B3
Ҳ
4B2
ҷ
4B7
Ҷ
4B6
 
9.
2591

2592

2593

2320

25A0

2219

221A

2248

2264

2265
 
00A0

2321
°
00B0
²
00B2
·
00B7
÷
00F7
9.
(KOI8-C)
Ғ
492
Җ
496
Қ
49A
Ҝ
49C
Ң
4A2
Ү
4AE
Ұ
4B0
Ҳ
4B2
Ҷ
4B6
Ҹ
4B8
Һ
4BA

2321
Ә
4D8
Ӣ
4E2
Ө
4E8
Ӯ
4EE
9.
(KOI8-Unified, KOI8-F)

2591

2018

2019

201C

201D

2022

2013

2014
©
A9

2122
 
A0
»
BB
®
AE
«
AB
·
B7
¤
A4
9.
(KOI8-O)
ђ
0452
£
00A3
·
00B7
љ
0459

203A
њ
045A
ќ
045C
ћ
045B
џ
045F
9.
(KOI8-T)
Қ
49A
 
2122
         
A.
(KOI8-R)

2550

2551

2552
ё
0451

2553

2554

2555

2556

2557

2558

2559

255A

255B

255C

255D

255E
A.
(KOI8-U)
є
0454
і
0456
ї
0457
ґ
0491
A.
(KOI8-RU)
ў
045E
A.
(KOI8-C)
(KOI8-Unified, KOI8-F)
 
A0
ђ
452
ѓ
453
ѕ
455
ј
458
љ
459
њ
45A
ћ
45B
ќ
45C
џ
45F
A.
(ISO-IR-111, KOI8-E)
­
00AD
A.
(KOI8-O)
 
00A0
ѵ
0475
ѣ
0463
®
00AE

2122
«
00AB
ѳ
0473
ґ
0491
´
00B4
A.
(KOI8-T)
  ӯ
4EF
Ӯ
4EE
¤
A4
ӣ
4E3
¦
A6
§
A7
      ¬
AC
­
AD
®
AE
 
B.
(KOI8-R)

255F

2560

2561
Ё
0401

2562

2563

2564

2565

2566

2567

2568

2569

256A

256B

256C
©
00A9
B.
(KOI8-U)
Є
0404
І
0406
Ї
0407
Ґ
0490
B.
(KOI8-RU)
Ў
040E
B.
(KOI8-C)
(KOI8-Unified, KOI8-F)

2116
Ђ
402
Ѓ
403
Ѕ
405
Ј
408
Љ
409
Њ
40A
Ћ
40B
Ќ
40C
Џ
40F
B.
(ISO-IR-111, KOI8-E)
¤
00A4
B.
(KOI8-O)
°
00B0
Ѵ
0474
Ѣ
0462

2116
¢
00A2
»
00BB
Ѳ
0472
Ґ
0490
©
00A9
B.
(KOI8-T)
±
B1
²
B2
  Ӣ
4E2

B6
·
B7
         
C. ю
044E
а
0430
б
0431
ц
0446
д
0434
е
0435
ф
0444
г
0433
х
0445
и
0438
й
0439
к
043A
л
043B
м
043C
н
043D
о
043E
D. п
043F
я
044F
р
0440
с
0441
т
0442
у
0443
ж
0436
в
0432
ь
044C
ы
044B
з
0437
ш
0448
э
044D
щ
0449
ч
0447
ъ
044A
E. Ю
042E
А
0410
Б
0411
Ц
0426
Д
0414
Е
0415
Ф
0424
Г
0413
Х
0425
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
О
041E
F. П
041F
Я
042F
Р
0420
С
0421
Т
0422
У
0423
Ж
0416
В
0412
Ь
042C
Ы
042B
З
0417
Ш
0428
Э
042D
Щ
0429
Ч
0427
Ъ
042A

KOI8 pro latinku

V ČSN 36 9103 je definováno sedm kódování, z nichž mezi KOI8 patří:

  • KOI8-CS - pro kódování češtiny a slovenštiny,
  • KOI8-K1
  • KOI8-L2 - registrováno jako ISO IR 139

KOI8-CS

KOI8-CS je definováno v ČSN 36 9103. V kódování je písmeno ch definováno jako samostatné písmeno.[7][8] Přestože bylo kódování KOI8-CS normalizováno, používalo se zřídka,[9] bylo používáno na osmibitových mikropočítačích s operačním systémem CP/M.[10] Vlastností kódování je, že české znaky s diakritikou je ve většině případů možné získat nastavením osmého bitu,[11] výjimkou jsou písmena, které mohou mít více diakritických znamének, např. z písmen Ě a É se výjimka týká písmena É.

## .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
C. à
00E0
á
00E1
ǎ
01CE
č
010D
ď
010F
ě
011B
ŕ
0155
ch
0063 0068
ü
00FC
í
00ED
ů
016F
ĺ
013A
ľ
013E
ö
00F6
ň
0148
ó
00F3
D. ô
00F4
ä
00E4
ř
0159
š
0161
ť
0165
ú
00FA
ë
00EB
é
00E9
ű
0171
ý
00FD
ž
017E
    ő
0151
ė
0117
ß
00DF
E. À
00C0
Á
00C1
Ǎ
01CD
Č
010C
Ď
010E
Ě
011A
Ŕ
0154
Ch
0043 0068
Ü
00DC
Í
00CD
Ů
016E
Ĺ
0139
Ľ
013D
Ö
00D6
Ň
0147
Ó
00D3
F. Ô
00D4
Ä
00C4
Ř
0158
Š
0160
Ť
0164
Ú
00DA
Ë
00CB
É
00C9
Ű
0170
Ý
00DD
Ž
017D
    Ő
0150
Ė
0116
 

V [12] jsou jako součást KOI8-CS uvedeny ještě znaky:

  • 128/80 - Ç,
  • 142/8E - ¤,
  • 168/A8 - °,
  • 173/AD - §.

Na různých počítačích byly implementovány různé verze KOI8-čs odlišně, např. pro počítač Sharp MZ-800 existovaly dvě různé implementace:

  • implementace obsahující některá řecká písmena a symboly,
  • implementace obsahující písmena cyrilice.[13]

Ani jedna z těchto dvou implementací neobsahuje písmeno CH, místo něho jsou obsaženy grafické symboly. Ve variantě obsahující písmena cyrilice na rozdíl od jiných kódování KOI jsou písmena cyrilice řazena nikoliv abecedně, ale azbukově, a mimo to nejsou obsažena písmena, která jsou nahraditelná písmeny latinky.

## .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
8. Б
411
В
412
Г
413
§
A7
ß
00DF
Д
414
Ё
401
Ж
416
З
417
И
418
Й
419
К
41A
    Л
41B
М
41C
9. Н
41D
П
41F
Р
420
Т
422
У
423
Ф
424

2588

2584

2580
Ц
426
Ч
427
Ш
428
Щ
429
Ъ
42A
Ы
42B
Ь
42C
A. Э
42D
Ю
42E
Я
42F
б
431
в
432
г
433
д
434
ё
451
ж
436
з
437
и
438
й
439
к
43A
§
A7
л
43B
м
43C
B. н
43D
п
43F
р
440
т
442
у
443
ф
444
ц
446
ч
447
ш
448
щ
449
ъ
44A
ы
44B
ь
44C
э
44D
ю
44E
я
44F
C.
250C
á
00E1

2514
č
010D
ď
010F
ě
011B
ŕ
0155

2500
ü
00FC
í
00ED
ů
016F
ĺ
013A
ľ
013E
ö
00F6
ň
0148
ó
00F3
D. ô
00F4
ä
00E4
ř
0159
š
0161
ť
0165
ú
00FA

251C
é
00E9
à
00E0
ý
00FD
ž
017E

252C
?? ?? ??
253C
E.
2510
Á
00C1

2518
Č
010C
Ď
010E
Ě
011A
Ŕ
0154

2502
Ü
00DC
Í
00CD
Ů
016E
Ĺ
0139
Ľ
013D
Ö
00D6
Ň
0147
Ó
00D3
F. Ô
00D4
Ä
00C4
Ř
0158
Š
0160
Ť
0164
Ú
00DA

2524
É
00C9
À
00C0
Ý
00DD
Ž
017D

2534
?? ??    
## .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
8. Ç
C7
ù
F9
è
E8
§
A7
ß
00DF
£
A3
Æ
C6
Ø
D8
Å
C5
æ
E6
ø
F8
å
E5
    ¤
A4
ò
F2
9. ì
EC
?? ¡
A1
Ñ
D1
¿
BF
ñ
F1

2588

2584

2580
             
A.
25A0
±
B1

2265

2264

2320

2321
÷
F7

2248
°
B0

221A
²
B2
½
BD
¼
BC
§
A7
«
AB
»
BB
B. α
3B1
ß
DF
Γ
393
π
3C0
Σ
3A3
σ
3C3
µ
B5
τ
3C4
Φ
3A6
Θ
398
Ω
3A9
δ
3B4

221E
φ
3C6
ε
3B5

2229
C.
250C
á
00E1

2514
č
010D
ď
010F
ě
011B
ŕ
0155

2500
ü
00FC
í
00ED
ů
016F
ĺ
013A
ľ
013E
ö
00F6
ň
0148
ó
00F3
D. ô
00F4
ä
00E4
ř
0159
š
0161
ť
0165
ú
00FA

251C
é
00E9
à
00E0
ý
00FD
ž
017E

252C
     
253C
E.
2510
Á
00C1

2518
Č
010C
Ď
010E
Ě
011A
Ŕ
0154

2502
Ü
00DC
Í
00CD
Ů
016E
Ĺ
0139
Ľ
013D
Ö
00D6
Ň
0147
Ó
00D3
F. Ô
00D4
Ä
00C4
Ř
0158
Š
0160
Ť
0164
Ú
00DA

2524
É
00C9
À
00C0
Ý
00DD
Ž
017D

2534
       
Pozn.: Znaky ?? ve výše uvedených tabulkách nahrazují znaky, které ve zdroji [13] nejsou čitelné.

Upravenou verzi kódování KOI8 CS používá program Datalog pro počítače Sinclair ZX Spectrum.[14] Svoje úpravy do KIO8 CS zavedl program České prostředí III pro podporu češtiny na počítačích Amiga.[15]

Reference

  1. Cyrillic encodings (charsets). Small description [online]. [cit. 2015-11-17]. Dostupné online. ((anglicky)}) 
  2. a b c Character Set Registrations [online]. IANA, rev. 2004-01-23 [cit. 2015-11-17]. Kapitola KOI7-switched. Dostupné online. ((anglicky)) 
  3. The Cyrillic Charset Soup Archivováno 3. 12. 2016 na Wayback Machine. na czyborra.com, cit. 2014-06-14
  4. Přehled historie kódových stránek [online]. [cit. 2015-11-11]. Kapitola Začátek osmibitové éry. Dostupné v archivu pořízeném dne 2015-11-21. ((česky)) 
  5. Survey of Code Page History [online]. [cit. 2015-11-11]. Kapitola The Beginning of the Eight-Bit Era. Dostupné v archivu pořízeném dne 2006-06-22. ((anglicky)) 
  6. KOI8 Unified, Fingertip Software (archivovaná verze stránky na archive.org)
  7. KOI-8 ČS2 (KOI8ČS) na cestina.cz, cit. 2014-04-28
  8. The Czech and Slovak Character Encoding Mess Explained, version 1.12 (anglicky) na luki.sdf-eu.org, cit. 2015-11-11, alternativně dostupné na [1], version 1.10, vyd. 1996-06-19, cit. 2015-11-17
  9. CsIndex v.2.11 czech/slovak implementation of — česká a slovenská implementace programu MakeIndex [online]. 1992-08-27. Kapitola 2 The first problem of czech and slovak languages / První problém češtiny a slovenštiny. Dostupné online. ((anglicky)(česky)) 
  10. Přehled historie kódových stránek Archivováno 21. 11. 2015 na Wayback Machine., kapitola Začátek osmibitové éry na feec.vutbr.cz, cit. 2014-06-11
  11. Rozumíme si s fonty - kódovánÍ. Printing [online]. 2001-02-20 [cit. 2015-11-17]. Dostupné online. 
  12. ASCII tabulka Archivováno 4. 3. 2016 na Wayback Machine. na abmmorava.cz
  13. a b BRÁZDA, Pavel. Sharp MZ-800 [online]. Rev. 2014-02-08 [cit. 2015-11-11]. Kapitola Kódové tabulky. Dostupné online. 
  14. ADÁMEK, Petr. Manuál programu Datalog. [s.l.]: [s.n.], 1991. Dostupné online. 
  15. LÉBR, Tomáš. České prostředí III. Atlantida News. Březen 1995, čís. 5. Dostupné online. 

Externí odkazy