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:
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.
|
|
- 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
- ↑ Cyrillic encodings (charsets). Small description [online]. [cit. 2015-11-17]. Dostupné online. ((anglicky)})
- ↑ a b c Character Set Registrations [online]. IANA, rev. 2004-01-23 [cit. 2015-11-17]. Kapitola KOI7-switched. Dostupné online. ((anglicky))
- ↑ The Cyrillic Charset Soup Archivováno 3. 12. 2016 na Wayback Machine na czyborra.com, cit. 2014-06-14
- ↑ 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))
- ↑ 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))
- ↑ KOI8 Unified, Fingertip Software (archivovaná verze stránky na archive.org)
- ↑ KOI-8 ČS2 (KOI8ČS) na cestina.cz, cit. 2014-04-28
- ↑ 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
- ↑ 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))
- ↑ 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
- ↑ Rozumíme si s fonty - kódovánÍ. Printing [online]. 2001-02-20 [cit. 2015-11-17]. Dostupné online.
- ↑ ASCII tabulka Archivováno 4. 3. 2016 na Wayback Machine na abmmorava.cz
- ↑ a b BRÁZDA, Pavel. Sharp MZ-800 [online]. Rev. 2014-02-08 [cit. 2015-11-11]. Kapitola Kódové tabulky. Dostupné online.
- ↑ ADÁMEK, Petr. Manuál programu Datalog. [s.l.]: [s.n.], 1991. Dostupné online.
- ↑ LÉBR, Tomáš. České prostředí III. Atlantida News. Březen 1995, čís. 5. Dostupné online.
Externí odkazy
- http://koi8.pp.ru/ (rusky)
- České ASCII tabulky (0x80 - 0xFF) Archivováno 21. 11. 2015 na Wayback Machine
- Locale::RecodeData::CSN_369103 na search.cpan.org - popis znakové sady KOI8 L2 registrované jako CSN_369103