ISO 8859-2 lub bardziej formalnie ISO/IEC 8859-2, również znane jako ISO Latin-2, bądź „środkowo–” i „wschodnioeuropejskie”, jest drugą częścią standardu kodowania znaków zdefiniowanego przez Międzynarodową Organizację Normalizacyjną (ISO). Składa się ze 191 znaków łacińskiego pisma, z czego każdy jest zapisywany przy pomocy ośmiu bitów. Na jego podstawie została utworzona Polska Norma (PN-T-42118:1993) opisująca kodowanie polskich liter diakrytyzowanych w kodach 8-bitowych.
Pokrycie języków
Używając tego zestawu znaków da się zapisać teksty w językach czeskim, węgierskim, polskim, rumuńskim, serbsko–chorwackim, słowackim, słoweńskim, jak również w górno– i dolnołużyckim. Jak widać poniżej, brakuje jednak polskich cudzysłowów, te są obecne w nowszym ISO 8859-16. Dodatkowo nadaje się do przedstawienia kilku zachodnioeuropejskich języków jak niemiecki, czy też angielski (choć dla tych języków powinien zostać zastosowany zestaw ISO 8859-1 lub nowszy ISO 8859-15).
W przeciwieństwie do ISO 8859-1, choć nie jest to stosowane, da się w tym zestawie znaków przedstawić też język fiński. Sporną kwestią jest natomiast dostosowanie tego kodowania do języka rumuńskiego z powodu faktu, iż zamiast liter Șș i Țț (S i T z przecinkiem) występują znaki Şş i Ţţ (S i T z cedillą). Co prawda, litery te zostały zunifikowane w pierwszej wersji Unicode’u, gdzie pojawienie się ich z cedillą czy przecinkiem było traktowane jako wybór glifu, a nie jako oddzielne znaki, to jednak fonty przeznaczone do użycia z tym językiem winny mieć znaki z przecinkiem w ich miejscach.
Tablica kodów
ISO/IEC 8859-2:1999 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | { | | | } | ~ | |
8x | Nieużywane | |||||||||||||||
9x | ||||||||||||||||
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.
Mapowanie na Unicode
Poniższa tabela przedstawia miejsca znaków z ISO 8859-2 w Unicode:
ISO/IEC 8859-2:1999 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Hex | Znak | Unicode | Hex | Znak | Unicode | Hex | Znak | Unicode | |||
0xA0 | NBSP | U+00A0 | 0xC0 | Ŕ | U+0154 | 0xE0 | ŕ | U+0155 | |||
0xA1 | Ą | U+0104 | 0xC1 | Á | U+00C1 | 0xE1 | á | U+00E1 | |||
0xA2 | ˘ | U+02D8 | 0xC2 | Â | U+00C2 | 0xE2 | â | U+00E2 | |||
0xA3 | Ł | U+0141 | 0xC3 | Ă | U+0102 | 0xE3 | ă | U+0103 | |||
0xA4 | ¤ | U+00A4 | 0xC4 | Ä | U+00C4 | 0xE4 | ä | U+00E4 | |||
0xA5 | Ľ | U+013D | 0xC5 | Ĺ | U+0139 | 0xE5 | ĺ | U+013A | |||
0xA6 | Ś | U+015A | 0xC6 | Ć | U+0106 | 0xE6 | ć | U+0107 | |||
0xA7 | § | U+00A7 | 0xC7 | Ç | U+00C7 | 0xE7 | ç | U+00E7 | |||
0xA8 | ¨ | U+00A8 | 0xC8 | Č | U+010C | 0xE8 | č | U+010D | |||
0xA9 | Š | U+0160 | 0xC9 | É | U+00C9 | 0xE9 | é | U+00E9 | |||
0xAA | Ş | U+015E | 0xCA | Ę | U+0118 | 0xEA | ę | U+0119 | |||
0xAB | Ť | U+0164 | 0xCB | Ë | U+00CB | 0xEB | ë | U+00EB | |||
0xAC | Ź | U+0179 | 0xCC | Ě | U+011A | 0xEC | ě | U+011B | |||
0xAD | SHY | U+00AD | 0xCD | Í | U+00CD | 0xED | í | U+00ED | |||
0xAE | Ž | U+017D | 0xCE | Î | U+00CE | 0xEE | î | U+00EE | |||
0xAF | Ż | U+017B | 0xCF | Ď | U+010E | 0xEF | ď | U+010F | |||
0xB0 | ° | U+00B0 | 0xD0 | Đ | U+0110 | 0xF0 | đ | U+0111 | |||
0xB1 | ą | U+0105 | 0xD1 | Ń | U+0143 | 0xF1 | ń | U+0144 | |||
0xB2 | ˛ | U+02DB | 0xD2 | Ň | U+0147 | 0xF2 | ň | U+0148 | |||
0xB3 | ł | U+0142 | 0xD3 | Ó | U+00D3 | 0xF3 | ó | U+00F3 | |||
0xB4 | ´ | U+00B4 | 0xD4 | Ô | U+00D4 | 0xF4 | ô | U+00F4 | |||
0xB5 | ľ | U+013E | 0xD5 | Ő | U+0150 | 0xF5 | ő | U+0151 | |||
0xB6 | ś | U+015B | 0xD6 | Ö | U+00D6 | 0xF6 | ö | U+00F6 | |||
0xB7 | ˇ | U+02C7 | 0xD7 | × | U+00D7 | 0xF7 | ÷ | U+00F7 | |||
0xB8 | ¸ | U+00B8 | 0xD8 | Ř | U+0158 | 0xF8 | ř | U+0159 | |||
0xB9 | š | U+0161 | 0xD9 | Ů | U+016E | 0xF9 | ů | U+016F | |||
0xBA | ş | U+015F | 0xDA | Ú | U+00DA | 0xFA | ú | U+00FA | |||
0xBB | ť | U+0165 | 0xDB | Ű | U+0170 | 0xFB | ű | U+0171 | |||
0xBC | ź | U+017A | 0xDC | Ü | U+00DC | 0xFC | ü | U+00FC | |||
0xBD | ˝ | U+02DD | 0xDD | Ý | U+00DD | 0xFD | ý | U+00FD | |||
0xBE | ž | U+017E | 0xDE | Ţ | U+0162 | 0xFE | ţ | U+0163 | |||
0xBF | ż | U+017C | 0xDF | ß | U+00DF | 0xFF | ˙ | U+02D9 |
Znaki o kodach 0x20 – 0x7E mają bezpośrednie odpowiedniki w Unicode. (0x20 → U+0020, 0x21 → U+0021 itd.)
Kody z przedziałów: 0x01 – 0x1F oraz 0x7F – 0x9F nie są używane w ISO 8859-2.
Zobacz też
Linki zewnętrzne
- Polska Norma PN-T-42118:1993. sklep.pkn.pl. [zarchiwizowane z tego adresu (2016-03-03)].