Windows-1252

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání
Kódování Windows-1252, někdy nesprávně nazývané „ANSI“ nebo „ASCII“. Znaky zobrazené červeně jsou v ISO-8859-1 použity pro řídicí znaky ze sady C1. Modré tečky indikují nepoužité nebo řídicí znaky

Windows-1252 nebo CP-1252 je znaková sada používaná implicitně ve starších verzích Microsoft Windows pro angličtinu a některé další západoevropské jazyky. Patří mezi kódové stránky systému Windows.

Detaily[editovat | editovat zdroj]

Zatímco kódování IANA ISO-8859-1 obsazuje kódy 0x80 až 0x9F řídicími znaky z řídicí sady C1, Windows-1252 používá tyto kódy pro tisknutelné znaky. Z pohledu tisknutelných znaků a díky minimálnímu používání řídicích znaků ze sady C1 bývá Windows-1252 považováno za nadmnožinu kódování ISO 8859-1. Z přidaných znaků jsou významné jednoduché a dvojité uvozovky, znak Euro a všechny tisknutelné znaky, které jsou (s jinými kódy) v ISO 8859-15. V Microsoft Windows se označuje jako kódová stránka číslo 1252, IANA používá označení „windows-1252“.

Velmi často je kódování Windows-1252 označováno jako ISO-8859-1. Obvyklým důsledkem bylo, že všechny uvozovky a apostrofy (vytvořené ve slovních procesorech funkcí „smart quotes“) byly na jiných operačních systémech než Windows nahrazeny otazníky nebo čtverečky, což ztěžovalo čtení textu. Většina moderních WWW prohlížečů a klientů pro e-mail zobrazuje MIME charset=ISO-8859-1 jako Windows-1252, aby zobrazovaly takto chybně označené texty správně. Okolo roku 2010 to bylo standardní chování v HTML 5, které vyžadovalo, aby dokumenty označené jako ISO-8859-1 byly skutečně analyzovány s kódováním Windows-1252.[1] V dubnu 2017 uvádělo kódování Windows-1252 0,8 % WWW stránek,[2][3] ale 5,2 % stránek používalo ISO-8859-1, které by podle norem HTML5 měly být považovány za stejné kódování, takže lze říct, že efektivně 6 % WWW stránek používá kódování Windows-1252.

Označení „ANSI Code Page“ (ACP) se historicky používalo ve Windows pro označení různých kódových stránek považovaných za nativní. Původním úmyslem bylo zaregistrovat většinu kódových stránek jako ANSI standard podobně jako ISO/IEC 8859-1. Ale ani první a zdaleka nejpoužívanější takto pojmenovaná kódová stránka, kterou je právě Windows-1252, nebyla nikdy ANSI standardem. Microsoft píše: „Používání termínu ANSI pro označení kódových stránek Windows je překonané, nyní nevhodné, ale v komunitě uživatelů Windows přetrvává.“[4]

V systému LaTeX je kódování CP-1252 označovano jako „ansinew“.

Struktura kódové stránky[editovat | editovat zdroj]

Následující tabulka zobrazuje kódování Windows-1252. U každého znaku je uveden jeho kódový bod Unicode a desítkový kód. Konverze do Unicode vycházejí z mapování Windows-1252 s „best fit“ uvedeného na serveru Unicode.org.[5]

Vysvětlivky:

  Alfabetický znak
  Řídicí znak
  Číslice
  Interpunkce
  Rozšířená interpunkce
  Grafický znak
  Mezinárodní znak
  Nedefinováno
  Rozdíly oproti ISO-8859-1
Windows-1252 (CP1252)
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
 
0_
 
NUL
0000
0
SOH
0001
1
STX
0002
2
ETX
0003
3
EOT
0004
4
ENQ
0005
5
ACK
0006
6
BEL
0007
7
BS
0008
8
HT
0009
9
LF
000A
10
VT
000B
11
FF
000C
12
CR
000D
13
SO
000E
14
SI
000F
15
 
1_
 
DLE
0010
16
DC1
0011
17
DC2
0012
18
DC3
0013
19
DC4
0014
20
NAK
0015
21
SYN
0016
22
ETB
0017
23
CAN
0018
24
EM
0019
25
SUB
001A
26
ESC
001B
27
FS
001C
28
GS
001D
29
RS
001E
30
US
001F
31
 
2_
 
SP
0020
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_
 
0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
 
4_
 
Zavináč
0040
64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
I
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
 
5_
 
P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90
[
005B
91
\
005C
92
]
005D
93
^
005E
94
_
005F
95
 
6_
 
`
0060
96
a
0061
97
b
0062
98
c
0063
99
d
0064
100
e
0065
101
f
0066
102
g
0067
103
h
0068
104
i
0069
105
j
006A
106
k
006B
107
l
006C
108
m
006D
109
n
006E
110
o
006F
111
 
7_
 
p
0070
112
q
0071
113
r
0072
114
s
0073
115
t
0074
116
u
0075
117
v
0076
118
w
0077
119
x
0078
120
y
0079
121
z
007A
122
{
007B
123
|
007C
124
}
007D
125
~
007E
126
DEL
007F
127
 
8_
 

20AC
128
 
201A
130
ƒ
0192
131

201E
132

2026
133

2020
134

2021
135
ˆ
02C6
136

2030
137
Š
0160
138

2039
139
Œ
0152
140
  Ž
017D
142
 
 
9_
 
 
2018
145

2019
146

201C
147

201D
148

2022
149

2013
150

2014
151
˜
02DC
152

2122
153
š
0161
154

203A
155
œ
0153
156
  ž
017E
158
Ÿ
0178
159
 
A_
 
NBSP
00A0
160
¡
00A1
161
¢
00A2
162
£
00A3
163
¤
00A4
164
¥
00A5
165
¦
00A6
166
§
00A7
167
¨
00A8
168
©
00A9
169
ª
00AA
170
«
00AB
171
¬
00AC
172
SHY
00AD
173
®
00AE
174
¯
00AF
175
 
B_
 
°
00B0
176
±
00B1
177
²
00B2
178
³
00B3
179
´
00B4
180
µ
00B5
181

00B6
182
·
00B7
183
¸
00B8
184
¹
00B9
185
º
00BA
186
»
00BB
187
¼
00BC
188
½
00BD
189
¾
00BE
190
¿
00BF
191
 
C_
 
À
00C0
192
Á
00C1
193
Â
00C2
194
Ã
00C3
195
Ä
00C4
196
Å
00C5
197
Æ
00C6
198
Ç
00C7
199
È
00C8
200
É
00C9
201
Ê
00CA
202
Ë
00CB
203
Ì
00CC
204
Í
00CD
205
Î
00CE
206
Ï
00CF
207
 
D_
 
Ð
00D0
208
Ñ
00D1
209
Ò
00D2
210
Ó
00D3
211
Ô
00D4
212
Õ
00D5
213
Ö
00D6
214
×
00D7
215
Ø
00D8
216
Ù
00D9
217
Ú
00DA
218
Û
00DB
219
Ü
00DC
220
Ý
00DD
221
Þ
00DE
222
ß
00DF
223
 
E_
 
à
00E0
224
á
00E1
225
â
00E2
226
ã
00E3
227
ä
00E4
228
å
00E5
229
æ
00E6
230
ç
00E7
231
è
00E8
232
é
00E9
233
ê
00EA
234
ë
00EB
235
ì
00EC
236
í
00ED
237
î
00EE
238
ï
00EF
239
 
F_
 
ð
00F0
240
ñ
00F1
241
ò
00F2
242
ó
00F3
243
ô
00F4
244
õ
00F5
245
ö
00F6
246
÷
00F7
247
ø
00F8
248
ù
00F9
249
ú
00FA
250
û
00FB
251
ü
00FC
252
ý
00FD
253
þ
00FE
254
ÿ
00FF
255
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

Podle informací z webů firmy Microsoft a Unicode Consortia nejsou kódy 0x81, 0x8D, 0x8F, 0x90 a 0x9D použité; Windows API MultiByteToWideChar je však převádí na odpovídající znaky z řídicí sady C1. Toto chování je zdokumentováno i v „best fit“ mapování.[5]

Historie[editovat | editovat zdroj]

  • V první verzi kódové stránky 1252 používané v Microsoft Windows 1.0 nebyly definované pozice 0xD7 a 0xF7 a celý rozsah 0x80-0x9F.
  • Ve druhé verzi používané v Microsoft Windows 2.0 byly nově definované kódy 0x91, 0x92, 0xD7 a 0xF7.
  • Třetí verze používaná od Microsoft Windows 3.1, měla definované všechny pozice kromě znaku Eura a dvojice znaků Z s háčkem.
  • Poslední verze, která je popsána výše, se objevila v Microsoft Windows 98 a v rámci updatu doplňujícího znak Eura byla portována i na starší verze Windows.

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Windows-1252 na anglické Wikipedii.

  1. Encoding [online]. WHATWG, 2015-01-27 [cit. 2015-02-04]. Dostupné online. 
  2. Historical trends in the usage of character encodings, October 2016 [online]. Dostupné online. 
  3. Frequenty Asked Questions [online]. Dostupné online. 
  4. WISSINK, Cathy. Unicode a Windows XP [online]. Microsoft, 2002-04-05 [cit. 2015-02-04]. Dostupné online. 
  5. a b Zobrazení Windows-1252 na Unicode s Best Fit [online]. Unicode [cit. 2015-02-04]. Dostupné online. 

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]