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 edytuj

Porównanie kodowań
HexCP-1252ISO 8859-1HexCP-1252ISO 8859-1HexCP-1252ISO 8859-1HexCP-1252ISO 8859-1
0x80ZK0xA0 0xC0À0xE0à
0x81NZZK0xA1¡0xC1Á0xE1á
0x82ZK0xA2¢0xC2Â0xE2â
0x83ƒZK0xA3£0xC3Ã0xE3ã
0x84ZK0xA4¤0xC4Ä0xE4ä
0x85ZK0xA5¥0xC5Å0xE5å
0x86ZK0xA6¦0xC6Æ0xE6æ
0x87ZK0xA7§0xC7Ç0xE7ç
0x88ˆZK0xA8¨0xC8È0xE8è
0x89ZK0xA9©0xC9É0xE9é
0x8AŠZK0xAAª0xCAÊ0xEAê
0x8BZK0xAB«0xCBË0xEBë
0x8CŒZK0xAC¬0xCCÌ0xECì
0x8DNZZK0xAD­0xCDÍ0xEDí
0x8EŽZK0xAE®0xCEÎ0xEEî
0x8FNZZK0xAF¯0xCFÏ0xEFï
0x90NZZK0xB0°0xD0Ð0xF0ð
0x91ZK0xB1±0xD1Ñ0xF1ñ
0x92ZK0xB2²0xD2Ò0xF2ò
0x93ZK0xB3³0xD3Ó0xF3ó
0x94ZK0xB4´0xD4Ô0xF4ô
0x95ZK0xB5µ0xD5Õ0xF5õ
0x96ZK0xB60xD6Ö0xF6ö
0x97ZK0xB7·0xD7×0xF7÷
0x98˜ZK0xB8¸0xD8Ø0xF8ø
0x99ZK0xB9¹0xD9Ù0xF9ù
0x9AšZK0xBAº0xDAÚ0xFAú
0x9BZK0xBB»0xDBÛ0xFBû
0x9CœZK0xBC¼0xDCÜ0xFCü
0x9DNZZK0xBD½0xDDÝ0xFDý
0x9EžZK0xBE¾0xDEÞ0xFEþ
0x9FŸZK0xBF¿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 edytuj

Poniższa tabela przedstawia znaki i ich szesnastkowe kody w Windows-1252.

Windows-1252
 x0x1x2x3x4x5x6x7x8x9xAxBxCxDxExF
0xZnaki kontrolne
1x
2xSP!"#$%&'()*+,-./
3x0123456789:;<=>?
4x@ABCDEFGHIJKLMNO
5xPQRSTUVWXYZ[\]^_
6x`abcdefghijklmno
7xpqrstuvwxyz{|}~ZK
8xNZƒˆŠŒNZŽNZ
9xNZ˜šœNZžŸ
AxNBSP¡¢£¤¥¦§¨©ª«¬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 edytuj

Poniższa tabela przedstawia miejsca znaków z Windows-1252 w Unicode.

Windows-1252
HexZnakUnicodeHexZnakUnicodeHexZnakUnicodeHexZnakUnicode
0x80U+20AC0xA0NBSPU+00A00xC0ÀU+00C00xE0àU+00E0
0x81NZ0xA1¡U+00A10xC1ÁU+00C10xE1áU+00E1
0x82U+201A0xA2¢U+00A20xC2ÂU+00C20xE2âU+00E2
0x83ƒU+01920xA3£U+00A30xC3ÃU+00C30xE3ãU+00E3
0x84U+201E0xA4¤U+00A40xC4ÄU+00C40xE4äU+00E4
0x85U+20260xA5¥U+00A50xC5ÅU+00C50xE5åU+00E5
0x86U+20200xA6¦U+00A60xC6ÆU+00C60xE6æU+00E6
0x87U+20210xA7§U+00A70xC7ÇU+00C70xE7çU+00E7
0x88ˆU+02C60xA8¨U+00A80xC8ÈU+00C80xE8èU+00E8
0x89U+20300xA9©U+00A90xC9ÉU+00C90xE9éU+00E9
0x8AŠU+01600xAAªU+00AA0xCAÊU+00CA0xEAêU+00EA
0x8BU+20390xAB«U+00AB0xCBËU+00CB0xEBëU+00EB
0x8CŒU+01520xAC¬U+00AC0xCCÌU+00CC0xECìU+00EC
0x8DNZ0xADSHYU+00AD0xCDÍU+00CD0xEDíU+00ED
0x8EŽU+017D0xAE®U+00AE0xCEÎU+00CE0xEEîU+00EE
0x8FNZ0xAF¯U+00AF0xCFÏU+00CF0xEFïU+00EF
0x90NZ0xB0°U+00B00xD0ÐU+00D00xF0ðU+00F0
0x91U+20180xB1±U+00B10xD1ÑU+00D10xF1ñU+00F1
0x92U+20190xB2²U+00B20xD2ÒU+00D20xF2òU+00F2
0x93U+201C0xB3³U+00B30xD3ÓU+00D30xF3óU+00F3
0x94U+201D0xB4´U+00B40xD4ÔU+00D40xF4ôU+00F4
0x95U+20220xB5µU+00B50xD5ÕU+00D50xF5õU+00F5
0x96U+20130xB6U+00B60xD6ÖU+00D60xF6öU+00F6
0x97U+20140xB7·U+00B70xD7×U+00D70xF7÷U+00F7
0x98˜U+02DC0xB8¸U+00B80xD8ØU+00D80xF8øU+00F8
0x99U+21220xB9¹U+00B90xD9ÙU+00D90xF9ùU+00F9
0x9AšU+01610xBAºU+00BA0xDAÚU+00DA0xFAúU+00FA
0x9BU+203A0xBB»U+00BB0xDBÛU+00DB0xFBûU+00FB
0x9CœU+01530xBC¼U+00BC0xDCÜU+00DC0xFCüU+00FC
0x9DNZ0xBD½U+00BD0xDDÝU+00DD0xFDýU+00FD
0x9EžU+017E0xBE¾U+00BE0xDEÞU+00DE0xFEþU+00FE
0x9FŸU+01780xBF¿U+00BF0xDFßU+00DF0xFFÿU+00FF

Linki zewnętrzne edytuj