Windows-1250

Windows-1250, někdy také CP-1250, je znaková sada používaná operačním systémem Microsoft Windows pro reprezentaci textů ve středoevropských jazycích používajících latinku – např. pro albánštinu, chorvatštinu, češtinu, polštinu, rumunštinu, slovenštinu a maďarštinu. Tuto stránku je rovněž možné použít pro kódování německých textů; při tomto kódování budou německé texty identické jako při použití sady Windows-1252.

Podobnost se sadou ISO 8859-2

Windows-1250 se podobá sadě ISO 8859-2 — obsahuje všechny její tisknutelné znaky (a ještě několik navíc), ale několik z nich je na jiných místech (na rozdíl od Windows-1252, kde jsou všechny tisknutelné znaky na stejném místě jako v ISO 8859-1). Je to pravděpodobně způsobeno snahou o zachování stejného rozložení se sadou Windows-1252. Rozdíly zachycuje následující tabulka.

Dle http://www.cestina.cz/whyISO.html došlo k tomuto proházení znaků a tím k velkým problémům s kompatibilitou záměrně v rámci konkurenčního boje. Jedná se jen o jeden z argumentů, ale v té době by to bylo opravdu reálné a pravdu už asi nikdo nezjistí.

To bylo totiž tak.. Microsoft potřeboval udělat do Windows 3.0 podporu pro východoevropské jazyky používající latinku, a tak nechali SWS (Software Slušovice), aby jí vyvinul. SWS vytvořil podporu používající kódování na bázi ISO-8859-2, s tím, že v místech řídících znaků (128–159), které ve Windows nejsou potřebné, byly semigrafické symboly. Tuto podporu odeslal Microsoftu. Jaké však bylo překvapení lidí v SWS když zjistili, že v nových Windows 3.1 byly některé znaky (např. ž,š,ť) přesunuty do řídící oblasti z jejich původních pozic v kódování ISO-8859-2. Tak vznikla kódová stránka CP-1250. Důvodem, který pravděpodobně vedl Microsoft k tomuto kroku byl konkurenční boj vůči Unixu -- záměrně vytvořili nekompatibilitu se kterou se my dnes musíme potýkat.. Kódování západoevropských Windows (CP1252) se od ISO-8859-1 téměř neliší, protože vzniklo podobným způsobem z ISO-8859-1, ovšem bez onoho prohazovacího podrazu, neboť v Západní Evropě byl Unix etablovaný a něco takového si Microsoft nemohl dovolit..

Srovnání s ISO 8859-2

Srovnání kódů
Hex Dec CP-1250 ISO 8859-2 Hex Dec CP-1250 ISO 8859-2 Hex Dec CP-1250 ISO 8859-2 Hex Dec CP-1250 ISO 8859-2
0x80 128 ŘZ 0xA0 160   0xC0 192 Ŕ 0xE0 224 ŕ
0x81 129 NZ ŘZ 0xA1 161 ˇ Ą 0xC1 193 Á 0xE1 225 á
0x82 130 ŘZ 0xA2 162 ˘ 0xC2 194 Â 0xE2 226 â
0x83 131 NZ ŘZ 0xA3 163 Ł 0xC3 195 Ă 0xE3 227 ă
0x84 132 ŘZ 0xA4 164 ¤ 0xC4 196 Ä 0xE4 228 ä
0x85 133 ŘZ 0xA5 165 Ą Ľ 0xC5 197 Ĺ 0xE5 229 ĺ
0x86 134 ŘZ 0xA6 166 ¦ Ś 0xC6 198 Ć 0xE6 230 ć
0x87 135 ŘZ 0xA7 167 § 0xC7 199 Ç 0xE7 231 ç
0x88 136 NZ ŘZ 0xA8 168 ¨ 0xC8 200 Č 0xE8 232 č
0x89 137 ŘZ 0xA9 169 © Š 0xC9 201 É 0xE9 233 é
0x8A 138 Š ŘZ 0xAA 170 Ş 0xCA 202 Ę 0xEA 234 ę
0x8B 139 ŘZ 0xAB 171 « Ť 0xCB 203 Ë 0xEB 235 ë
0x8C 140 Ś ŘZ 0xAC 172 ¬ Ź 0xCC 204 Ě 0xEC 236 ě
0x8D 141 Ť ŘZ 0xAD 173 ­ 0xCD 205 Í 0xED 237 í
0x8E 142 Ž ŘZ 0xAE 174 ® Ž 0xCE 206 Î 0xEE 238 î
0x8F 143 Ź ŘZ 0xAF 175 Ż 0xCF 207 Ď 0xEF 239 ď
0x90 144 NZ ŘZ 0xB0 176 ° 0xD0 208 Đ 0xF0 240 đ
0x91 145 ŘZ 0xB1 177 ± ą 0xD1 209 Ń 0xF1 241 ń
0x92 146 ŘZ 0xB2 178 ˛ 0xD2 210 Ň 0xF2 242 ň
0x93 147 ŘZ 0xB3 179 ł 0xD3 211 Ó 0xF3 243 ó
0x94 148 ŘZ 0xB4 180 ´ 0xD4 212 Ô 0xF4 244 ô
0x95 149 ŘZ 0xB5 181 µ ľ 0xD5 213 Ő 0xF5 245 ő
0x96 150 ŘZ 0xB6 182 ś 0xD6 214 Ö 0xF6 246 ö
0x97 151 ŘZ 0xB7 183 · ˇ 0xD7 215 × 0xF7 247 ÷
0x98 152 NZ ŘZ 0xB8 184 ¸ 0xD8 216 Ř 0xF8 248 ř
0x99 153 ŘZ 0xB9 185 ą š 0xD9 217 Ů 0xF9 249 ů
0x9A 154 š ŘZ 0xBA 186 ş 0xDA 218 Ú 0xFA 250 ú
0x9B 155   ŘZ 0xBB 187  » ť 0xDB 219 Ű 0xFB 251 ű
0x9C 156 ś ŘZ 0xBC 188 Ľ ź 0xDC 220 Ü 0xFC 252 ü
0x9D 157 ť ŘZ 0xBD 189 ˝ 0xDD 221 Ý 0xFD 253 ý
0x9E 158 ž ŘZ 0xBE 190 ľ ž 0xDE 222 Ţ 0xFE 254 ţ
0x9F 159 ź ŘZ 0xBF 191 ż 0xDF 223 ß 0xFF 255 ˙

Kde „NZ” označuje znak nedefinovaný v tomto kódování, „ŘZ” označuje řídicí znak, a „Znak” označuje znak společný pro obě kódování.

Kódová tabulka

Následující tabulka obsahuje znaky Windows-1250 a jejich šestnáctkové kódy.

Windows-1250
  x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x Řídicí znaky
1x
2x SP ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z \ ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~ ZK
8x NZ NZ NZ Š Ś Ť Ž Ź
9x NZ NZ š ś ť ž ź
Ax NBSP ˇ ˘ Ł ¤ Ą ¦ § ¨ © Ş « ¬ SHY ® Ż
Bx ° ± ˛ ł ´ µ · ¸ ą ş » Ľ ˝ ľ ż
Cx Ŕ Á Â Ă Ä Ĺ Ć Ç Č É Ę Ë Ě Í Î Ď
Dx Đ Ń Ň Ó Ô Ő Ö × Ř Ů Ú Ű Ü Ý Ţ ß
Ex ŕ á â ă ä ĺ ć ç č é ę ë ě í î ď
Fx đ ń ň ó ô ő ö ÷ ř ů ú ű ü ý ţ ˙

Ve výše uvedené tabulce je znak s kódem 0x20 obyčejná mezera, 0xA0 je nezlomitelná mezera, znak 0xAD jest měkký rozdělovník.

Mapování do Unikódu

Následující tabulka obsahuje převod z Windows-1250 do Unicode.

Windows-1250
Hex Znak Unicode Hex Znak Unicode Hex Znak Unicode Hex Znak Unicode
0x80 U+20AC 0xA0 NBSP U+00A0 0xC0 Ŕ U+0154 0xE0 ŕ U+0155
0x81 NZ 0xA1 ˇ U+02C7 0xC1 Á U+00C1 0xE1 á U+00E1
0x82 U+201A 0xA2 ˘ U+02D8 0xC2 Â U+00C2 0xE2 â U+00E2
0x83 NZ 0xA3 Ł U+0141 0xC3 Ă U+0102 0xE3 ă U+0103
0x84 U+201E 0xA4 ¤ U+00A4 0xC4 Ä U+00C4 0xE4 ä U+00E4
0x85 U+2026 0xA5 Ą U+0104 0xC5 Ĺ U+0139 0xE5 ĺ U+013A
0x86 U+2020 0xA6 ¦ U+00A6 0xC6 Ć U+0106 0xE6 ć U+0107
0x87 U+2021 0xA7 § U+00A7 0xC7 Ç U+00C7 0xE7 ç U+00E7
0x88 NZ 0xA8 ¨ U+00A8 0xC8 Č U+010C 0xE8 č U+010D
0x89 U+2030 0xA9 © U+00A9 0xC9 É U+00C9 0xE9 é U+00E9
0x8A Š U+0160 0xAA Ş U+015E 0xCA Ę U+0118 0xEA ę U+0119
0x8B U+2039 0xAB « U+00AB 0xCB Ë U+00CB 0xEB ë U+00EB
0x8C Ś U+015A 0xAC ¬ U+00AC 0xCC Ě U+011A 0xEC ě U+011B
0x8D Ť U+0164 0xAD SHY U+00AD 0xCD Í U+00CD 0xED í U+00ED
0x8E Ž U+017D 0xAE ® U+00AE 0xCE Î U+00CE 0xEE î U+00EE
0x8F Ź U+0179 0xAF Ż U+017B 0xCF Ď U+010E 0xEF ď U+010F
0x90 NZ 0xB0 ° U+00B0 0xD0 Đ U+0110 0xF0 đ U+0111
0x91 U+2018 0xB1 ± U+00B1 0xD1 Ń U+0143 0xF1 ń U+0144
0x92 U+2019 0xB2 ˛ U+02DB 0xD2 Ň U+0147 0xF2 ň U+0148
0x93 U+201C 0xB3 ł U+0142 0xD3 Ó U+00D3 0xF3 ó U+00F3
0x94 U+201D 0xB4 ´ U+00B4 0xD4 Ô U+00D4 0xF4 ô U+00F4
0x95 U+2022 0xB5 µ U+00B5 0xD5 Ő U+0150 0xF5 ő U+0151
0x96 U+2013 0xB6 U+00B6 0xD6 Ö U+00D6 0xF6 ö U+00F6
0x97 U+2014 0xB7 · U+00B7 0xD7 × U+00D7 0xF7 ÷ U+00F7
0x98 NZ 0xB8 ¸ U+00B8 0xD8 Ř U+0158 0xF8 ř U+0159
0x99 U+2122 0xB9 ą U+0105 0xD9 Ů U+016E 0xF9 ů U+016F
0x9A š U+0161 0xBA ş U+015F 0xDA Ú U+00DA 0xFA ú U+00FA
0x9B   U+203A 0xBB  » U+00BB 0xDB Ű U+0170 0xFB ű U+0171
0x9C ś U+015B 0xBC Ľ U+013D 0xDC Ü U+00DC 0xFC ü U+00FC
0x9D ť U+0165 0xBD ˝ U+02DD 0xDD Ý U+00DD 0xFD ý U+00FD
0x9E ž U+017E 0xBE ľ U+013E 0xDE Ţ U+0162 0xFE ţ U+0163
0x9F ź U+017A 0xBF ż U+017C 0xDF ß U+00DF 0xFF ˙ U+02D9

Kódování řídících znaků

0x00 NULL
0x01 START OF HEADING
0x02 START OF TEXT
0x03 END OF TEXT
0x04 END OF TRANSMISSION
0x05 ENQUIRY
0x06 ACKNOWLEDGE
0x07 BELL
0x08 BACKSPACE
0x09 HORIZONTAL TABULATION
0x0A LINE FEED
0x0B VERTICAL TABULATION
0x0C FORM FEED
0x0D CARRIAGE RETURN
0x0E SHIFT OUT
0x0F SHIFT IN
0x10 DATA LINK ESCAPE
0x11 DEVICE CONTROL ONE
0x12 DEVICE CONTROL TWO
0x13 DEVICE CONTROL THREE
0x14 DEVICE CONTROL FOUR
0x15 NEGATIVE ACKNOWLEDGE
0x16 SYNCHRONOUS IDLE
0x17 END OF TRANSMISSION BLOCK
0x18 CANCEL
0x19 END OF MEDIUM
0x1A SUBSTITUTE
0x1B ESCAPE
0x1C FILE SEPARATOR
0x1D GROUP SEPARATOR
0x1E RECORD SEPARATOR
0x1F UNIT SEPARATOR

Odkazy

Související články

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.