КОИ-8

КОИ-8 (код обмена информацией, 8 бит) — восьмибитная кодовая страница, являющаяся расширением кодировки КОИ-7 (объединением наборов Н0 и Н1) и вследствие этого совместимая с ISO 646 IRV (ASCII[a]). Предназначена для обмена и обработки информации с возможностью использования латинского и русского алфавитов. Описана в ныне не действующем ГОСТ 19768—74[b]. Один из вариантов КОИ-8 — KOI8-R — был широко распространён как основная русская кодировка в Unix-подобных операционных системах и в электронной почте, однако с конца 2000-х годов он постепенно выходит из употребления в связи с распространением Юникода.

Разработчики КОИ-8 разместили буквы русского алфавита в верхней половине кодовой таблицы так, чтобы их позиции совпадали с позициями фонетически аналогичных им латинских букв в нижней половине таблицы, поэтому русские буквы расположены не в алфавитном порядке. Благодаря этому при обнулении старшего (восьмого) бита символов текста, написанного в КОИ-8 (в частности, из-за прохождения через семибитную среду), получается относительно читаемый текст, подобный транслиту; так, например, слова «Русский Текст» превращаются в «rUSSKIJ tEKST».

Существует несколько расширенных вариантов КОИ-8 с поддержкой различных кириллических алфавитов; тем не менее, основной диапазон кодовых позиций кириллицы (0xC00xFF), содержащий 32 русские буквы (все кроме Ё) в обоих регистрах (строчные и прописные), во всех вариантах остаётся неизменным. Русский алфавит описывается в KOI8-R, украинский — в KOI8-U, белорусский — в KOI8-RU, таджикский — в KOI8-T.

В 1990-х годах KOI8-R фактически стала стандартом кодирования русской кириллицы в Unix-подобных операционных системах и в электронной почте. Автор данной кодировки (RFC 1489) Андрей Чернов в начале 1990-х годов работал в компании «Демос» (сеть «Релком») и непосредственно участвовал в запуске и наладке первого Интернет-канала между Россией и западными странами. KOI8-R в итоге стала первой стандартизованной русской кодировкой в Интернете.

IETF утвердил несколько RFC по вариантам кодировки КОИ-8, впоследствии зарегистрированным IANA в своём списке[2]:

  • RFC 1489 — KOI8-R (с поддержкой русского алфавита);
  • RFC 2319 — KOI8-U (с поддержкой украинского алфавита);
  • RFC 1345 — ISO-IR-111 (с ошибкой в расположении основного диапазона).

В Microsoft Windows KOI8-R присвоен идентификатор 20866, KOI8-U — 21866.

Кодовые таблицы

Нижние половины кодовых таблиц (позиции 0x000x7F) полностью совпадают с ASCII. Числа под символами обозначают их шестнадцатеричный код в Юникоде.

KOI8-R (русская)

.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
 
9.
 

2591

2592

2593

2320

25A0

2219

221A

2248

2264

2265
 
A0

2321
°
B0
²
B2
·
B7
÷
F7
 
A.
 

2550

2551

2552
ё
451

2553

2554

2555

2556

2557

2558

2559

255A

255B

255C

255D

255E
 
B.
 

255F

2560

2561
Ё
401

2562

2563

2564

2565

2566

2567

2568

2569

256A

256B

256C
©
A9
 
C.
 
ю
44E
а
430
б
431
ц
446
д
434
е
435
ф
444
г
433
х
445
и
438
й
439
к
43A
л
43B
м
43C
н
43D
о
43E
 
D.
 
п
43F
я
44F
р
440
с
441
т
442
у
443
ж
436
в
432
ь
44C
ы
44B
з
437
ш
448
э
44D
щ
449
ч
447
ъ
44A
 
E.
 
Ю
42E
А
410
Б
411
Ц
426
Д
414
Е
415
Ф
424
Г
413
Х
425
И
418
Й
419
К
41A
Л
41B
М
41C
Н
41D
О
41E
 
F.
 
П
41F
Я
42F
Р
420
С
421
Т
422
У
423
Ж
416
В
412
Ь
42C
Ы
42B
З
417
Ш
428
Э
42D
Щ
429
Ч
427
Ъ
42A

KOI8-U (русско-украинская)

Здесь и далее приводятся только те строки кодовой таблицы, которые отличаются от KOI8-R.

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
A.
 

2550

2551

2552
ё
451
є
454

2554
і
456
ї
457

2557

2558

2559

255A

255B
ґ
491

255D

255E
 
B.
 

255F

2560

2561
Ё
401
Є
404

2563
І
406
Ї
407

2566

2567

2568

2569

256A
Ґ
490

256C
©
A9

KOI8-RU (русско-белорусско-украинская)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
A.
 

2550

2551

2552
ё
451
є
454

2554
і
456
ї
457

2557

2558

2559

255A

255B
ґ
491
ў
45E

255E
 
B.
 

255F

2560

2561
Ё
401
Є
404

2563
І
406
Ї
407

2566

2567

2568

2569

256A
Ґ
490
Ў
40E
©
A9

KOI8-C (центральноазиатская)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
8.
 
ғ
493
җ
497
қ
49B
ҝ
49D
ң
4A3
ү
4AF
ұ
4B1
ҳ
4B3
ҷ
4B7
ҹ
4B9
һ
4BB

2580
ә
4D9
ӣ
4E3
ө
4E9
ӯ
4EF
 
9.
 
Ғ
492
Җ
496
Қ
49A
Ҝ
49C
Ң
4A2
Ү
4AE
Ұ
4B0
Ҳ
4B2
Ҷ
4B6
Ҹ
4B8
Һ
4BA

2321
Ә
4D8
Ӣ
4E2
Ө
4E8
Ӯ
4EE
 
A.
 
 
A0
ђ
452
ѓ
453
ё
451
є
454
ѕ
455
і
456
ї
457
ј
458
љ
459
њ
45A
ћ
45B
ќ
45C
ґ
491
ў
45E
џ
45F
 
B.
 

2116
Ђ
402
Ѓ
403
Ё
401
Є
404
Ѕ
405
І
406
Ї
407
Ј
408
Љ
409
Њ
40A
Ћ
40B
Ќ
40C
Ґ
490
Ў
40E
Џ
40F

KOI8-T (таджикская)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
8.
 
қ
49B
ғ
493

201A
Ғ
492

201E

2026

2020

2021

2030
ҳ
4B3

2039
Ҳ
4B2
ҷ
4B7
Ҷ
4B6
 
9.
 
Қ
49A

2018

2019

201C

201D

2022

2013

2014

2122

203A
 
A.
 
ӯ
4EF
Ӯ
4EE
ё
451
¤
A4
ӣ
4E3
¦
A6
§
A7
«
AB
¬
AC
­
AD
®
AE
 
B.
 
°
B0
±
B1
²
B2
Ё
401
Ӣ
4E2

B6
·
B7

2116
»
BB
©
A9

KOI8-O, KOI8-S (русская дореформенная орфография)

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
8.
 
Ђ
402
Ѓ
403
¸
B8
ѓ
453

201E

2026

2020
§
A7

20AC
¨
A8
Љ
409

2039
Њ
40A
Ќ
40C
Ћ
40B
Џ
40F
 
9.
 
ђ
452

2018

2019

201C

201D

2022

2013

2014
£
A3
·
B7
љ
459

203A
њ
45A
ќ
45C
ћ
45B
џ
45F
 
A.
 
 
A0
ѵ
475
ѣ
463
ё
451
є
454
ѕ
455
і
456
ї
457
ј
458
®
AE

2122
«
AB
ѳ
473
ґ
491
ў
45E
´
B4
 
B.
 
°
B0
Ѵ
474
Ѣ
462
Ё
401
Є
404
Ѕ
405
І
406
Ї
407
Ј
408

2116
¢
A2
»
BB
Ѳ
472
Ґ
490
Ў
40E
©
A9

ISO-IR-111, KOI8-E

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
A.
 
 
A0
ђ
452
ѓ
453
ё
451
є
454
ѕ
455
і
456
ї
457
ј
458
љ
459
њ
45A
ћ
45B
ќ
45C
­
AD
ў
45E
џ
45F
 
B.
 

2116
Ђ
402
Ѓ
403
Ё
401
Є
404
Ѕ
405
І
406
Ї
407
Ј
408
Љ
409
Њ
40A
Ћ
40B
Ќ
40C
¤
A4
Ў
40E
Џ
40F

KOI8-Unified, KOI8-F

Кодировка KOI8-F предложена компанией Fingertip Software[3].

.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
 
9.
 

2591

2018

2019

201C

201D

2022

2013

2014
©
A9

2122
 
A0
»
BB
®
AE
«
AB
·
B7
¤
A4
 
A.
 
 
A0
ђ
452
ѓ
453
ё
451
є
454
ѕ
455
і
456
ї
457
ј
458
љ
459
њ
45A
ћ
45B
ќ
45C
ґ
491
ў
45E
џ
45F
 
B.
 

2116
Ђ
402
Ѓ
403
Ё
401
Є
404
Ѕ
405
І
406
Ї
407
Ј
408
Љ
409
Њ
40A
Ћ
40B
Ќ
40C
Ґ
490
Ў
40E
Џ
40F

KOI8-M

Кодировка KOI8-M представляет собой смесь KOI8-R и альтернативной кодировки (разновидности CP866, описанной в неопубликованной редакции ГОСТ 19768—74 1987 года).

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
 
8.
 

2591

2592

2593

2502

2524

2561

2562

2556

2555

2563

2551

2557

255D

255C

255B

2510
 
9.
 

2514

2534

252C

251C

2500

253C

255E

255F

255A

2554

2569

2566

2560

2550

256C

2567
 
A.
 

2568

2564

2565

2559

2558

2552

2553

256B

256A

2518

250C

2588

2584

258C

2590

2580
 
B.
 
Ё
401
ё
451
🮣
1FBA3
🮢
1FBA2
🮠
1FBA0
🮡
1FBA1

2192

2190

2191

2193
÷
F7
±
B1

2116
¤
A4

25A0
 
A0

Некириллические варианты КОИ-8

В некоторых странах СЭВ создавались модификации КОИ-8 для национальных вариантов латиницы. Основная идея была та же — при «срезании» старшего бита текст должен оставаться более или менее понятным.

См. также

Примечания

Комментарии

  1. Согласно ГОСТ 19768—74, в КОИ-7 и КОИ-8 в кодовой позиции 0x24 расположен знак валюты (¤), а не знак доллара ($). При создании расширений была произведена обратная замена, требуемая для полной совместимости с ASCII.
  2. В настоящее время в ГОСТ Р 34.303—92[1] определены другие кодировки КОИ-8 (Н1/Н2 и В1), не имеющие отношения к данной.

Источники

  1. ГОСТ Р 34.303—92 (ИСО 4873—86) «Информационная технология. Наборы 8-битных кодированных символов. 8-битный код обмена и обработки информации»
  2. Internet Assigned Numbers Authority. Character Sets (англ.). Дата обращения: 18 ноября 2024. Архивировано 16 ноября 2024 года.
  3. KOI8 Unified (англ.). Fingertip Software. Дата обращения: 11 февраля 2020. Архивировано из оригинала 9 мая 2008 года.

Ссылки