Windows-1252
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
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
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 |
_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
- 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
Reference
V tomto článku byl použit překlad textu z článku Windows-1252 na anglické Wikipedii.
- Encoding [online]. WHATWG, 2015-01-27 [cit. 2015-02-04]. Dostupné v archivu pořízeném dne 2015-02-04.
- Historical trends in the usage of character encodings, October 2016 [online]. Dostupné online.
- Frequenty Asked Questions [online]. Dostupné online.
- WISSINK, Cathy. Unicode a Windows XP [online]. Microsoft, 2002-04-05 [cit. 2015-02-04]. Dostupné v archivu pořízeném dne 2015-02-04.
- Zobrazení Windows-1252 na Unicode s Best Fit [online]. Unicode [cit. 2015-02-04]. Dostupné v archivu pořízeném z originálu dne 2015-02-04.
Související články
- Kódování znaků pro západoevropské jazyky
- Windows-1250