Anton Dolin

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

Окно настройки экрана в Mandrake Linux 7.1, демонстрирующее отображение кириллицы в отсутствие кириллического шрифта благодаря использованию кодировки koi8

Разработчики КОИ-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[3].

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

Нижние половины кодовых таблиц (позиции 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
 
00A0

2321
°
00B0
²
00B2
·
00B7
÷
00F7
A.
2550

2551

2552
ё
0451

2553

2554

2555

2556

2557

2558

2559

255A

255B

255C

255D

255E
B.
255F

2560

2561
Ё
0401

2562

2563

2564

2565

2566

2567

2568

2569

256A

256B

256C
©
00A9
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-U (русско-украинская)

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

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

2551

2552
ё
0451
є
0454

2554
і
0456
ї
0457

2557

2558

2559

255A

255B
ґ
0491

255D

255E
B.
255F

2560

2561
Ё
0401
Є
0404

2563
І
0406
Ї
0407

2566

2567

2568

2569

256A
Ґ
0490

256C
©
00A9

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

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

2551

2552
ё
0451
є
0454

2554
і
0456
ї
0457

2557

2558

2559

255A

255B
ґ
0491
ў
045E

255E
B.
255F

2560

2561
Ё
0401
Є
0404

2563
І
0406
Ї
0407

2566

2567

2568

2569

256A
Ґ
0490
Ў
040E
©
00A9

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

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

2580
ә
04D9
ӣ
04E3
ө
04E9
ӯ
04EF
9. Ғ
0492
Җ
0496
Қ
049A
Ҝ
049C
Ң
04A2
Ү
04AE
Ұ
04B0
Ҳ
04B2
Ҷ
04B6
Ҹ
04B8
Һ
04BA

2321
Ә
04D8
Ӣ
04E2
Ө
04E8
Ӯ
04EE
A.  
00A0
ђ
0452
ѓ
0453
ё
0451
є
0454
ѕ
0455
і
0456
ї
0457
ј
0458
љ
0459
њ
045A
ћ
045B
ќ
045C
ґ
0491
ў
045E
џ
045F
B.
2116
Ђ
0402
Ѓ
0403
Ё
0401
Є
0404
Ѕ
0405
І
0406
Ї
0407
Ј
0408
Љ
0409
Њ
040A
Ћ
040B
Ќ
040C
Ґ
0490
Ў
040E
Џ
040F

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

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

201A
Ғ
0492

201E

2026

2020

2021

2030
ҳ
04B3

2039
Ҳ
04B2
ҷ
04B7
Ҷ
04B6
9. Қ
049A

2018

2019

201C

201D

2022

2013

2014

2122

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

00B6
·
00B7

2116
»
00BB
©
00A9

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

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
8. Ђ
0402
Ѓ
0403
¸
00B8
ѓ
0453

201E

2026

2020
§
00A7

20AC
¨
00A8
Љ
0409

2039
Њ
040A
Ќ
040C
Ћ
040B
Џ
040F
9. ђ
0452

2018

2019

201C

201D

2022

2013

2014
£
00A3
·
00B7
љ
0459

203A
њ
045A
ќ
045C
ћ
045B
џ
045F
A.  
00A0
ѵ
0475
ѣ
0463
ё
0451
є
0454
ѕ
0455
і
0456
ї
0457
ј
0458
®
00AE

2122
«
00AB
ѳ
0473
ґ
0491
ў
045E
´
00B4
B. °
00B0
Ѵ
0474
Ѣ
0462
Ё
0401
Є
0404
Ѕ
0405
І
0406
Ї
0407
Ј
0408

2116
¢
00A2
»
00BB
Ѳ
0472
Ґ
0490
Ў
040E
©
00A9

ISO-IR-111, KOI8-E

.0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
A.  
00A0
ђ
0452
ѓ
0453
ё
0451
є
0454
ѕ
0455
і
0456
ї
0457
ј
0458
љ
0459
њ
045A
ћ
045B
ќ
045C
­
00AD
ў
045E
џ
045F
B.
2116
Ђ
0402
Ѓ
0403
Ё
0401
Є
0404
Ѕ
0405
І
0406
Ї
0407
Ј
0408
Љ
0409
Њ
040A
Ћ
040B
Ќ
040C
¤
00A4
Ў
040E
Џ
040F

KOI8-Unified, KOI8-F

Кодировка KOI8-F предложена компанией Fingertip Software[4]. Неразрывный пробел размещён сразу в двух кодовых позициях — 0x9A и 0xA0.

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

2018

2019

201C

201D

2022

2013

2014
©
00A9

2122
 
00A0
»
00BB
®
00AE
«
00AB
·
00B7
¤
00A4
A.  
00A0
ђ
0452
ѓ
0453
ё
0451
є
0454
ѕ
0455
і
0456
ї
0457
ј
0458
љ
0459
њ
045A
ћ
045B
ќ
045C
ґ
0491
ў
045E
џ
045F
B.
2116
Ђ
0402
Ѓ
0403
Ё
0401
Є
0404
Ѕ
0405
І
0406
Ї
0407
Ј
0408
Љ
0409
Њ
040A
Ћ
040B
Ќ
040C
Ґ
0490
Ў
040E
Џ
040F

KOI8-M

Кодировка KOI8-M представляет собой смесь KOI8-R и первоначальной (разработанной в ВЦ АН СССР) версии альтернативной кодировки.

.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. Ё
0401
ё
0451
🮣
1FBA3
🮢
1FBA2
🮠
1FBA0
🮡
1FBA1

2192

2190

2193

2191
÷
00F7
±
00B1

2116
¤
00A4

25A0
 
00A0

Некириллические варианты КОИ-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. Microsoft Corporation. Code Page Identifiers (англ.). Дата обращения: 29 января 2025. Архивировано 26 января 2025 года.
  4. KOI8 Unified (англ.). Fingertip Software. Дата обращения: 11 февраля 2020. Архивировано из оригинала 9 мая 2008 года.

Ссылки

No tags for this post.