Il KOI8-RU è un sistema di codifica di caratteri a 8-bit progettato per essere adoperato con il russo, l'ucraino e il bielorusso, nonché con tutte quelle lingue che utilizzano l'alfabeto cirillico. Il sistema originale, il KOI8, il cui nome sta per Kod Obmena Informaciej, 8 bit (in russo Код Обмена Информацией, 8 бит, Codice per lo scambio di informazioni, 8 bit), fu progettato dalle autorità sovietiche nel 1974 e da allora ne sono stati creati vari derivati, tra cui il KOI8-U, che aggiunge al KOI8 i caratteri dell'ucraino, e il KOI8-R, utilizzato per il russo e per il bulgaro. Proprio su quest'ultimo è basato il KOI8-RU, nel quale dieci caratteri grafici del KOI8-R sono sostituiti da quattro lettere ucraine e una bielorussa, in minuscolo e in maiuscolo: Ґ, Є, І, Ї e Ў (l'unica lettera cirillica caratteristica del bielorusso).[1][2]

Il KOI8 ed i sistemi da lui derivati hanno la particolarità di avere le lettere cirilliche disposte in ordine pseudo-latino piuttosto che nel comune ordine dell'alfabeto cirillico come hanno per esempio l'ISO 8859-5 e l'Unicode. Sebbene questo possa sembrare anti intuitivo, questa caratteristica risulta utile per il fatto che se l'ottavo bit viene eliminato, il testo è parzialmente leggibile utilizzando il sistema ASCII e può essere convertito in un testo in KOI7 sintatticamente corretto. Per esempio se dalla scritta in KOI8-RU "Русский Текст" viene eliminato l'ottavo bit, essa diventa rUSSKIJ tEKST ("Testo russo") ed un tentativo di interpretare tale stringa con il KOI7 porta a "РУССКИЙ ТЕКСТ". Il KOI8 fu creato basandosi sul codice Morse russo (che a sua volta fu creato dal codice Morse internazionale basandosi sulle assonanze) e la connessione riguardante l'ordine delle lettere tra il codice Morse russo e quello internazionale è la stessa che esiste tra il KOI8 e l'ASCII.

Nei sistemi di IBM il numero di code page assegnato al sistema KOI8-RU è 1167.[3]

Tabella

modifica

La seguente tabella mostra il sistema di codifica KOI8-RU.[3] Ogni carattere è rappresentato al centro della cella con il suo equivalente Unicode in alto e il suo codice decimale in basso.

Legenda
      Caratteri di controllo       Punteggiatura
      Cifre numeriche       Caratteri alfabetici
      Caratteri internazionali       Caratteri non definiti
      Caratteri grafici       Punteggiatura estesa
KOI8-RU
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F
0-

0


1


2


3


4


5


6


7


8


9


10


11


12


13


14


15
1-

16


17


18


19


20


21


22


23


24


25


26


27


28


29


30


31
2- 0020
SP
32
0021
!
33
0022
"
34
0023
#
35
0024
$
36
0025
%
37
0026
&
38
0027
'
39
0028
(
40
0029
)
41
002A
*
42
002B
+
43
002C
,
44
002D
-
45
002E
.
46
002F
/
47
3- 0030
0
48
0031
1
49
0032
2
50
0033
3
51
0034
4
52
0035
5
53
0036
6
54
0037
7
55
0038
8
56
0039
9
57
003A
:
58
003B
;
59
003C
<
60
003D
=
61
003E
>
62
003F
?
63
4- 0040
@
64
0041
A
65
0042
B
66
0043
C
67
0044
D
68
0045
E
69
0046
F
70
0047
G
71
0048
H
72
0049
I
73
004A
J
74
004B
K
75
004C
L
76
004D
M
77
004E
N
78
004F
O
79
5- 0050
P
80
0051
Q
81
0052
R
82
0053
S
83
0054
T
84
0055
U
85
0056
V
86
0057
W
87
0058
X
88
0059
Y
89
005A
Z
90
005B
[
91
005C
\
92
005D
]
93
005E
^
94
005F
_
95
6- 0060
`
96
0061
a
97
0062
b
98
0063
c
99
0064
d
100
0065
e
101
0066
f
102
0067
g
103
0068
h
104
0069
i
105
006A
j
106
006B
k
107
006C
l
108
006D
m
109
006E
n
110
006F
o
111
7- 0070
p
112
0071
q
113
0072
r
114
0073
s
115
0074
t
116
0075
u
117
0076
v
118
0077
w
119
0078
x
120
0079
y
121
007A
z
122
007B
{
123
007C
|
124
007D
}
125
007E
~
126


127
8- 2500

128
2502

129
250C

130
2510

131
2514

132
2518

133
251C

134
2524

135
252C

136
2534

137
253C

138
2580

139
2584

140
2588

141
258C

142
2590

143
9- 2591

144
2592

145
2593

146
2320

147
25A0

148
2219

149
221A

150
2248

151
2264

152
2265

153
00A0
NBSP
154
2321

155
00B0
°
156
00B2
²
157
00B7
·
158
00F7
÷
159
A- 2550

160
2551

161
2552

162
0451
ё
163
0454
є
164
2554

165
0456
i
166
0457
ї
167
2557

168
2558

169
2559

170
255A

171
255B

172
0491
ґ
173
045D
ў
174
255E

175
B- 255F

176
2560

177
2561

178
0401
Ё
179
0404
Є
180
2563

181
0406
I
182
0407
Ї
183
2566

184
2567

185
2568

186
2569

187
256A

188
0490
Ґ
189
040D
Ў
190
00A9
©
191
C- 044E
ю
192
0430
а
193
0431
б
194
0446
ц
195
0434
д
196
0435
е
197
0444
ф
198
0433
г
199
0445
х
200
0438
и
201
0439
й
202
043A
к
203
043B
л
204
043C
м
205
043D
н
206
043E
о
207
D- 043F
п
208
044F
я
209
0440
р
210
0441
с
211
0442
т
212
0443
у
213
0436
ж
214
0432
в
215
044C
ь
216
044B
ы
217
0437
з
218
0448
ш
219
044D
э
220
0449
щ
221
0447
ч
222
044A
ъ
223
E- 042E
Ю
224
0410
А
225
0411
Б
226
0426
Ц
227
0414
Д
228
0415
Е
229
0424
Ф
230
0413
Г
231
0425
Х
232
0418
И
233
0419
Й
234
041A
К
235
041B
Л
236
041C
М
237
041D
Н
238
041E
О
239
F- 041F
П
240
042F
Я
241
0420
Р
242
0421
С
243
0422
Т
244
0423
У
245
0416
Ж
246
0412
В
247
042C
Ь
248
042B
Ы
249
0417
З
250
0428
Ш
251
042D
Э
252
0429
Щ
253
0427
Ч
254
042A
Ъ
255
-0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -A -B -C -D -E -F

Come si vede dalla tabella, la differenza tra il KOI8-RU ed il KOI8-R sta nelle posizioni 0xA4, 0xA6, 0xA7, 0xAD, 0xAE, 0xB4, 0xB6, 0xB7, 0xBD e 0xBE, dove sono presenti lettere non esistenti nella lingua russa.

Nella tabella soprastante, il corrispettivo del codice Unicode 20 è il carattere spazio mentre del codice Unicode A0 è lo spazio unificatore.

Anche se l'RFC 2319[4] dice che il carattere in posizione 0x95 ha corrispettivo Unicode U+2219 (∙), esso può anche avere U+2022 (•) in modo da farlo coincidere con il carattere punto elenco del Windows-1251.

  1. ^ Guido Flohr, Locale::RecodeData::KOI8_RU - Conversion routines for KOI8-RU, su CPAN libintl-perl, 2006. URL consultato il 23 gennaio 2018.
  2. ^ Mark Leisher, KOI8-RU Belorusian/Ukrainian Cyrillic to Unicode 2.1 mapping table (TXT), su math.nmsu.edu, Department of Mathematical Sciences, New Mexico State University, 20 dicembre 1999. URL consultato il 23 gennaio 2018 (archiviato dall'url originale il 19 febbraio 2017).
  3. ^ a b CPGID 01167 - Code page identifiers, su www-01.ibm.com, IBM. URL consultato il 23 gennaio 2018.
  4. ^ RFC 2319 - Ukrainian Character Set KOI8-U, su tools.ietf.org, IETF, aprile 1998. URL consultato il 23 gennaio 2018.

Voci correlate

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica