Перш ніж відповідати на питання про те, що ж таке кодування ANSI Windows, відповімо спочатку на інше питання: "Що ж таке кодування взагалі?" У кожного комп'ютера, в кожній системі використовується певний набір символів, що залежить від мови, що використовується користувачем, від його професійних компетенцій та особистих уподобань.
Загальне визначення кодування
Так, в російській мові використовується 33 символу для позначення букв, в англійському – 26. Також використовується 10 цифр для рахунку (0; 1; 2; 3; 4; 5; 6; 7; 8; 9) і деякі спеціальні символи, у тому числі кома, мінус, пробіл, точка, відсоток і так далі. Кожному з цих символів за допомогою кодової таблиці присвоюється порядковий номер. Приміром, букві "A", може бути присвоєно номер 1; "Z" - 26 і так далі. Власне, номер, який представляє символ як ціле число, вважається кодом символу, а кодування - це, відповідно, набір символів у такій таблиці.
Багатство різноманітності кодових таблиць
На даний момент існує досить велика кількість кодувань і кодових таблиць, використовуваних різними фахівцями: це і ASCII, розроблена в 1963 році в Америці, і Windows-1251 зовсім недавно колишня популярною завдяки Microsoft, KOI8-R і Guobiao - і багато, багато інших, причому процес їх появи і відмирання відбувається і донині.
Серед цього величезного списку зовсім особливо тримається так звана кодування ANSI. Справа в тому, що у свій час компанія Microsoft створила цілий набір кодових сторінок:
Windows - 874
Тайський
Windows-1250
Центральноєвропейський
Windows-1251
Кириличний (всі символи російської мови + символи близьких мов)
Windows-1252
Західноєвропейський
Windows-1253
Грецький
Windows-1254
Турецький
Windows-1255
Єврейський
Windows-1256
Арабська
Windows-1257
Балтійський
Windows-1258
В'єтнамський
Всі вони отримали загальну назву таблиці кодування ANSI, або кодової сторінки ANSI. Цікавий факт: однією з перших кодових таблиць стала ASCII, в 1963 році створена American National Standards Institute (Американським національним інститутом стандартів), скорочено називалися саме ANSI.
Крім усього іншого, ця кодування і містить недруковані символи, так звані "Керуючі послідовності", або ESC, унікальні для всіх таблиць символів, часто несумісні між собою. При вмілому використанні, однак, вони дозволяли приховувати і відновлювати курсор, переводити його з одного положення в тексті на інше, встановлювати табуляцію, прати частина вікна терміналу, в якому велася робота, змінювати форматування тексту на екрані і змінювати колір (або навіть малювати і подавати звукові сигнали!). У 1976 році, до речі, це було досить непоганою підмогою для програмістів. До речі, термінал - це пристрій, потрібний для введення і виведення інформації. У ті далекі часи він представляв собою монітор і клавіатуру, приєднані до ЕОМ (електронній обчислювальній машині).
Некоректне відображення символів
На жаль, у подальшому подібна система викликала численні збої в системах, виводячи замість бажаних віршів, стрічок новин або описів улюблених комп'ютерних ігор так звані кракозябры
- безглузді, нечитані набори символів. Поява цих всюдисущих помилок було викликано лише спробою відображати символи, які закодовані в одній кодовій таблиці, за допомогою іншої.
Найчастіше з наслідками неправильного читання цієї кодування ми стикаємося в Інтернеті досі, коли наш браузер з якоїсь причини не може досить точно визначити, яка саме з Windows-**** кодувань використовується в даний момент, через вказівки веб-майстром загальної кодування ANSI або спочатку невірного кодування, наприклад, 1252 замість 1521. Нижче представлена точна таблиця кодувань.
Кирилична таблиця ANSI-кодування Windows-1251
№ П/п.
HEX
СИМВОЛ
№ П/п.
HEX
СИМВОЛ
№ П/п.
HEX
СИМВОЛ
000
00
NOP
086
56
V
171
AB
«
001
01
SOH
087
57
W
172
AC
002
02
STX
088
58
X
173
AD
003
03
ETX
089
59
Y
174
AE
®
004
04
EOT
090
5A
Z
175
AF
Ї
005
05
ENQ
091
5B
[
176
B0
°
006
06
ACK
092
5C
177
B1
±
007
07
BEL
093
5D
]
178
B2
І
008
08
BS
094
5E
^
179
B3
і
009
09
TAB
095
5F
_
180
B4
ґ
010
0A
LF
096
60
`
181
B5
µ
011
0B
VT
097
61
a
182
B6
¶
012
0C
FF
098
62
b
183
B7
·
013
0D
CR
099
63
c
184
B8
Е
014
0E
SO
100
64
d
185
B9
№
015
0F
SI
101
65
e
186
BA
Є
016
10
DLE
102
66
f
187
BB
»
017
11
DC1
103
67
g
188
BC
ј
018
12
DC2
104
68
h
189
BD
Ѕ
019
13
DC3
105
69
i
190
BE
Ѕ
020
14
DC4
106
6A
j
191
BF
Ї
021
15
NAK
107
6B
k
192
C0
А
022
16
SYN
108
6C
l
193
C1
Б
023
17
ETB
109
6D
m
194
C2
У
024
18
CAN
110
6E
n
195
C3
Р
025
19
EM
111
6F
o
196
C4
Д
026
1A
SUB
112
70
p
197
C5
Е
027
1B
ESC
113
71
q
198
C6
Ж
028
1C
FS
114
72
r
199
C7
З
029
1D
GS
115
73
s
200
C8
І
030
1E
RS
116
74
t
201
C9
Ї
031
1F
US
117
75
u
202
CA
До
032
20
Пробіл
118
76
v
203
CB
Л
033
21
!
119
77
w
204
CC
М
034
22
«
120
78
x
205
CD
Н
035
23
#
121
79
y
206
CE
Про
036
24
$
122
7A
z
207
CF
П
037
25
%
123
7B
{
208
D0
Р
038
26
&
124
7C
|
209
D1
З
039
27
'
125
7D
}
210
D2
Т
040
28
(
126
7E
~
211
D3
У
041
29
)
127
7F
212
D4
Ф
042
2A
*
128
80
Ђ
213
D5
Х
043
2B
+
129
81
Ѓ
214
D6
Ц
044
2C
,
130
82
'
215
D7
Ч
045
2D
—
131
83
ѓ
216
D8
Ш
046
2E
.
132
84
„
217
D9
Щ
047
2F
/
133
85
218
DA
Ъ
048
30
0
134
86
†
219
DB
И
049
31
1
135
87
‡
220
DC
Ь
050
32
2
136
88
€
221
DD
Е
051
33
3
137
89
‰
222
DE
Ю
052
34
4
138
8A
© R3r3r34996.
223
DF
Я
053
35
5
139
8B
"
224
E0
а
054
36
6
140
8C
Њ
225
E1
б
055
37
7
141
8D
Ќ
226
E2
у
056
38
8
142
8E
Ћ
227
E3
р
057
39
9
143
8F
* R3r3r34996.
228
E4
д
058
3A
:
144
90
Ђ
229
E5
е
059
3B
;
145
91
'
230
E6
ж
060
3C
148
94
"
233
E9
ї
063
3F
?
149
95
•
234
EA
до
064
40
@
150
96
–
235
EB
л
065
41
A
151
97
—
236
EC
м
066
42
B
152
98 ?
237
ED
н
067
43
C
153
99
™
238
EE
про
068
44
D
154
9A
©
239
EF
п
069
45
E
155
9B
"
240
F0
р
070
46
F
156
9C
њ
241
F1
з
071
47
G
157
9D
ќ
242
F2
т
072
48
H
158
9E
ћ
243
F3
у
073
49
I
159
9F
*
244
F4
ф
074
4A
J
160
A0
245
F5
х
075
4B
K
161
A1
Ў
246
F6
ц
076
4C
L
162
A2
ў
247
F7
ч
077
4D
M
163
A3
Ј
248
F8
ш
078
4E
N
164
A4
¤
249
F9
щ
079
4F
O
165
A5
Ґ
250
FA
ъ
080
50
P
166
A6
¦
251
FB
и
081
51
Q
167
A7
§
252
FC
ь
082
52
R
168
A8
Е
253
FD
е
083
53
S
169
A9
©
254
FE
ю
084
54
T
170
AA
Є
255
FF
я
085
55
U
Більш того, в 1986 році ANSI була суттєво розширена, завдяки Яну Е. Девісу, який написав пакет The Draw, що дозволяє не просто використовувати базові, з нашої точки зору, функції, але і повноцінно (або майже повноцінно) малювати!
Підводячи підсумки
Таким чином, можна бачити, що кодування ANSI, по суті, хоч і була досить спірним рішенням, зберігає свої позиції.
З часом з легкої руки ентузіастів стародавній термінал ANSI перекочував навіть на телефони!