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
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.
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.
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
- Výrobce o Windows-1250
- Přehled kódování češtiny, Windows-1250: http://www.cestina.cz/kodovani/#CP1250
- cp1250 to Unicode table