Windows-1252
Windows-1252, znane także jako CP-1252, jest 8–bitowym kodowaniem znaków będącym nadzbiorem kodowania ISO-8859-1, różniącym się od niego tym, że używane są miejsca znaków kontrolnych z przedziału 0x80–0x9F. Windows-1252 jest stosowane w systemach Microsoft Windows z angielskojęzycznymi bądź zachodnioeuropejskimi ustawieniami językowymi.
Wiele przeglądarek internetowych traktuje ISO-8859-1 jako Windows-1252 (kody kontrolne są zabronione w HTML), więc znaki z przedziału kodów kontrolnych widziane są na stronach internetowych jako wartości z CP-1252.
Powszechnym nieporozumieniem jest uważanie, że ANSI jest jednoznaczne z tą stroną kodową. Tak naprawdę Windows używa określenia „ANSI” w odniesieniu do kodowania systemowego, czyli w anglojęzycznych lub zachodnioeuropejskich wersjach systemów Windows będzie to Windows-1252. Dla polskojęzycznej wersji systemu będzie to Windows-1250.
Porównanie z ISO 8859-1
edytujHex | CP-1252 | ISO 8859-1 | Hex | CP-1252 | ISO 8859-1 | Hex | CP-1252 | ISO 8859-1 | Hex | CP-1252 | ISO 8859-1 |
---|---|---|---|---|---|---|---|---|---|---|---|
0x80 | € | ZK | 0xA0 | 0xC0 | À | 0xE0 | à | ||||
0x81 | NZ | ZK | 0xA1 | ¡ | 0xC1 | Á | 0xE1 | á | |||
0x82 | ‚ | ZK | 0xA2 | ¢ | 0xC2 | Â | 0xE2 | â | |||
0x83 | ƒ | ZK | 0xA3 | £ | 0xC3 | Ã | 0xE3 | ã | |||
0x84 | „ | ZK | 0xA4 | ¤ | 0xC4 | Ä | 0xE4 | ä | |||
0x85 | … | ZK | 0xA5 | ¥ | 0xC5 | Å | 0xE5 | å | |||
0x86 | † | ZK | 0xA6 | ¦ | 0xC6 | Æ | 0xE6 | æ | |||
0x87 | ‡ | ZK | 0xA7 | § | 0xC7 | Ç | 0xE7 | ç | |||
0x88 | ˆ | ZK | 0xA8 | ¨ | 0xC8 | È | 0xE8 | è | |||
0x89 | ‰ | ZK | 0xA9 | © | 0xC9 | É | 0xE9 | é | |||
0x8A | Š | ZK | 0xAA | ª | 0xCA | Ê | 0xEA | ê | |||
0x8B | ‹ | ZK | 0xAB | « | 0xCB | Ë | 0xEB | ë | |||
0x8C | Œ | ZK | 0xAC | ¬ | 0xCC | Ì | 0xEC | ì | |||
0x8D | NZ | ZK | 0xAD | | 0xCD | Í | 0xED | í | |||
0x8E | Ž | ZK | 0xAE | ® | 0xCE | Î | 0xEE | î | |||
0x8F | NZ | ZK | 0xAF | ¯ | 0xCF | Ï | 0xEF | ï | |||
0x90 | NZ | ZK | 0xB0 | ° | 0xD0 | Ð | 0xF0 | ð | |||
0x91 | ‘ | ZK | 0xB1 | ± | 0xD1 | Ñ | 0xF1 | ñ | |||
0x92 | ’ | ZK | 0xB2 | ² | 0xD2 | Ò | 0xF2 | ò | |||
0x93 | “ | ZK | 0xB3 | ³ | 0xD3 | Ó | 0xF3 | ó | |||
0x94 | ” | ZK | 0xB4 | ´ | 0xD4 | Ô | 0xF4 | ô | |||
0x95 | • | ZK | 0xB5 | µ | 0xD5 | Õ | 0xF5 | õ | |||
0x96 | – | ZK | 0xB6 | ¶ | 0xD6 | Ö | 0xF6 | ö | |||
0x97 | — | ZK | 0xB7 | · | 0xD7 | × | 0xF7 | ÷ | |||
0x98 | ˜ | ZK | 0xB8 | ¸ | 0xD8 | Ø | 0xF8 | ø | |||
0x99 | ™ | ZK | 0xB9 | ¹ | 0xD9 | Ù | 0xF9 | ù | |||
0x9A | š | ZK | 0xBA | º | 0xDA | Ú | 0xFA | ú | |||
0x9B | › | ZK | 0xBB | » | 0xDB | Û | 0xFB | û | |||
0x9C | œ | ZK | 0xBC | ¼ | 0xDC | Ü | 0xFC | ü | |||
0x9D | NZ | ZK | 0xBD | ½ | 0xDD | Ý | 0xFD | ý | |||
0x9E | ž | ZK | 0xBE | ¾ | 0xDE | Þ | 0xFE | þ | |||
0x9F | Ÿ | ZK | 0xBF | ¿ | 0xDF | ß | 0xFF | ÿ |
Gdzie „NZ” oznacza znak niezdefiniowany w kodowaniu, „ZK” oznacza znak kontrolny, a „Znak” oznacza znak wspólny dla obydwu kodowań.
Tablica kodów
edytujPoniższa tabela przedstawia znaki i ich szesnastkowe kody w Windows-1252.
x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x | Znaki kontrolne | |||||||||||||||
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 | ð | ñ | ò | ó | ô | õ | ö | ÷ | ø | ù | ú | û | ü | ý | þ | ÿ |
W powyższej tabeli znak o kodzie 0x20 to zwykła spacja, 0xA0 to twarda spacja, a znak 0xAD to miękki dywiz. Według informacji dostępnych na stronach Microsoftu i konsorcjum Unicode, miejsca o kodach 0x81, 0x8D, 0x8F, 0x90 i 0x9D są nieużywane, jednak, pomimo to odwołania w Windows API, odpowiedzialne za konwertowanie znaków ze stron kodowych na Unicode, mapują te wartości na odpowiadające im kody kontrolne C1. Symbol Euro (€) z pozycji 0x80 był nieobecny we wcześniejszych wersjach tej strony kodowej, tak jak S i Z z haczykiem (Š, š, Ž, ž).
Mapowanie na Unicode
edytujPoniższa tabela przedstawia miejsca znaków z Windows-1252 w Unicode.
Hex | Znak | Unicode | Hex | Znak | Unicode | Hex | Znak | Unicode | Hex | Znak | Unicode |
---|---|---|---|---|---|---|---|---|---|---|---|
0x80 | € | U+20AC | 0xA0 | NBSP | U+00A0 | 0xC0 | À | U+00C0 | 0xE0 | à | U+00E0 |
0x81 | NZ | 0xA1 | ¡ | U+00A1 | 0xC1 | Á | U+00C1 | 0xE1 | á | U+00E1 | |
0x82 | ‚ | U+201A | 0xA2 | ¢ | U+00A2 | 0xC2 | Â | U+00C2 | 0xE2 | â | U+00E2 |
0x83 | ƒ | U+0192 | 0xA3 | £ | U+00A3 | 0xC3 | Ã | U+00C3 | 0xE3 | ã | U+00E3 |
0x84 | „ | U+201E | 0xA4 | ¤ | U+00A4 | 0xC4 | Ä | U+00C4 | 0xE4 | ä | U+00E4 |
0x85 | … | U+2026 | 0xA5 | ¥ | U+00A5 | 0xC5 | Å | U+00C5 | 0xE5 | å | U+00E5 |
0x86 | † | U+2020 | 0xA6 | ¦ | U+00A6 | 0xC6 | Æ | U+00C6 | 0xE6 | æ | U+00E6 |
0x87 | ‡ | U+2021 | 0xA7 | § | U+00A7 | 0xC7 | Ç | U+00C7 | 0xE7 | ç | U+00E7 |
0x88 | ˆ | U+02C6 | 0xA8 | ¨ | U+00A8 | 0xC8 | È | U+00C8 | 0xE8 | è | U+00E8 |
0x89 | ‰ | U+2030 | 0xA9 | © | U+00A9 | 0xC9 | É | U+00C9 | 0xE9 | é | U+00E9 |
0x8A | Š | U+0160 | 0xAA | ª | U+00AA | 0xCA | Ê | U+00CA | 0xEA | ê | U+00EA |
0x8B | ‹ | U+2039 | 0xAB | « | U+00AB | 0xCB | Ë | U+00CB | 0xEB | ë | U+00EB |
0x8C | Œ | U+0152 | 0xAC | ¬ | U+00AC | 0xCC | Ì | U+00CC | 0xEC | ì | U+00EC |
0x8D | NZ | 0xAD | SHY | U+00AD | 0xCD | Í | U+00CD | 0xED | í | U+00ED | |
0x8E | Ž | U+017D | 0xAE | ® | U+00AE | 0xCE | Î | U+00CE | 0xEE | î | U+00EE |
0x8F | NZ | 0xAF | ¯ | U+00AF | 0xCF | Ï | U+00CF | 0xEF | ï | U+00EF | |
0x90 | NZ | 0xB0 | ° | U+00B0 | 0xD0 | Ð | U+00D0 | 0xF0 | ð | U+00F0 | |
0x91 | ‘ | U+2018 | 0xB1 | ± | U+00B1 | 0xD1 | Ñ | U+00D1 | 0xF1 | ñ | U+00F1 |
0x92 | ’ | U+2019 | 0xB2 | ² | U+00B2 | 0xD2 | Ò | U+00D2 | 0xF2 | ò | U+00F2 |
0x93 | “ | U+201C | 0xB3 | ³ | U+00B3 | 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+00D5 | 0xF5 | õ | U+00F5 |
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 | ˜ | U+02DC | 0xB8 | ¸ | U+00B8 | 0xD8 | Ø | U+00D8 | 0xF8 | ø | U+00F8 |
0x99 | ™ | U+2122 | 0xB9 | ¹ | U+00B9 | 0xD9 | Ù | U+00D9 | 0xF9 | ù | U+00F9 |
0x9A | š | U+0161 | 0xBA | º | U+00BA | 0xDA | Ú | U+00DA | 0xFA | ú | U+00FA |
0x9B | › | U+203A | 0xBB | » | U+00BB | 0xDB | Û | U+00DB | 0xFB | û | U+00FB |
0x9C | œ | U+0153 | 0xBC | ¼ | U+00BC | 0xDC | Ü | U+00DC | 0xFC | ü | U+00FC |
0x9D | NZ | 0xBD | ½ | U+00BD | 0xDD | Ý | U+00DD | 0xFD | ý | U+00FD | |
0x9E | ž | U+017E | 0xBE | ¾ | U+00BE | 0xDE | Þ | U+00DE | 0xFE | þ | U+00FE |
0x9F | Ÿ | U+0178 | 0xBF | ¿ | U+00BF | 0xDF | ß | U+00DF | 0xFF | ÿ | U+00FF |