Що таке кодування ANSI і з чим її їдять?
Перш ніж відповідати на питання про те, що ж таке кодування ANSI Windows, відповімо спочатку на інше питання: "Що ж таке кодування взагалі?" У кожного комп'ютера, в кожній системі використовується певний набір символів, що залежить від мови, що використовується користувачем, від його професійних компетенцій та особистих уподобань.
Серед цього величезного списку зовсім особливо тримається так звана кодування 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. Нижче представлена точна таблиця кодувань.
№ П/п.
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, що дозволяє не просто використовувати базові, з нашої точки зору, функції, але і повноцінно (або майже повноцінно) малювати!
Загальне визначення кодування
Так, в російській мові використовується 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 перекочував навіть на телефони!Цікаво по темі
Кодування ASCII (American standard code for information interchange) - базова кодування тексту для латиниці
За даними Міжнародного Союзу електрозв'язку, в 2016 році Інтернетом з тією чи іншою регулярністю користувалося 35 мільярда людей. Більшість з них
ASCII символи: опис, таблиця кодів і види
Кодування ASCII була розроблена понад півстоліття тому і протягом багатьох років була найпопулярнішою в світі. У цій статті розглянемо, як
Вільна таблиця символів Юнікоду
Unicode - це міжнародний стандарт кодування символів, що дозволяє одноманітно відображати тексти на ...