encyklopedia.space

ISO‑8859‑2

ISO‑8859‑2, znany także jako Latin‑2 lub Central European, jest 8‑bitowym zestawem znaków opracowanym w ramach serii standardów ISO/IEC 8859. Służy do kodowania znaków używanych w językach środkowej i wschodniej Europy, w szczególności w polskim, czeskim, słowackim, węgierskim, słoweńskim, serbskim (łaciński) i innych.

Historia

Prace nad serią ISO‑8859 rozpoczęły się w latach 1985, a projekt ISO‑8859‑2 został ostatecznie przyjęty w 1992 roku. Standard powstał jako odpowiedź na potrzebę jednego zestawu znaków, który obejmowałby wszystkie alfabetu języków środkowo‑europejskich, które w tamtym czasie były kodowane przy pomocy wielu niekompatybilnych stron kodowych.

Charakterystyka

  • Rozmiar: 8 bitów (256 kodów).
  • Zakres kodów 0‑127: identyczny z ASCII, co zapewnia kompatybilność z podstawowymi tekstami anglojęzycznymi.
  • Zakres kodów 128‑255: zawiera znaki diakrytyczne i dodatkowe litery potrzebne w językach środkowo‑europejskich.
  • Kompatybilność: nie jest kompatybilny z ISO‑8859‑1 (Latin‑1) – niektóre pozycje w zakresie 128‑255 są różne.

Struktura zestawu znaków

Poniżej przedstawiono wycinek tabeli znaków ISO‑8859‑2 (kod szesnastkowy – znak Unicode):

…
Kod (hex) Unicode Znak Opis
A0U+00A0 spacja nierozdzielająca
A1U+0104Ąduża litera A z ogonkiem
A2U+02D8˘znak kratki (breve)
A3U+0141Łduża litera Ł
A4U+00A4¤symbol waluty
A5U+013DĽduża litera L z haczykiem
A6U+015AŚduża litera S z akcentem
A7U+00A7§znak paragrafu
A8U+00A8¨kropka powyżej (diaeresis)
A9U+0160Šduża litera S z haakiem
FFU+02DD˝podwójny akcent (double acute)

Zastosowanie

Przez lata ISO‑8859‑2 był szeroko wykorzystywany w:

  • systemach operacyjnych typu Unix i Linux w wersjach przed 1998 r.,
  • aplikacjach biurowych, np. starszych wersjach Microsoft Office,
  • serwerach WWW w latach 1990‑2000, zanim Unicode stał się de facto standardem,
  • bazach danych i systemach wymiany danych (np. protokół SMTP z kodowaniem ISO-8859-2).

Porównanie z innymi kodowaniami

Kodowanie Zakres językowy Kompatybilność z ASCII Różnice względem ISO‑8859‑2
ISO‑8859‑1Europa Zachodniapełnazawiera znaki zachodnio‑europejskie, brak niektórych liter środkowoeuropejskich (np. Ą, Ł)
Windows‑1250Środkowa Europa (Microsoft)pełnaróżne mapowanie w 0x80‑0x9F; nieco inny zestaw diakrytyków
Unicode (UTF‑8)Wszystkie języki światapełna (pierwsze 128 znaków)zmienna długość kodowania; pełna kompatybilność z ISO‑8859‑2 po konwersji

Przejście na Unicode

Od początku dwóch tysięcy roku większość nowych projektów programistycznych i systemów operacyjnych przyjmuje Unicode (najczęściej w formie UTF‑8) jako domyślne kodowanie. Dzięki temu eliminuje się potrzebę rozróżniania wielu 8‑bitowych zestawów znaków, w tym ISO‑8859‑2. W praktyce konwersja pomiędzy ISO‑8859‑2 a Unicode jest prosta, a w większości bibliotek programistycznych dostępne są gotowe mapowania.

Implementacje i wsparcie

Standard ISO‑8859‑2 jest obsługiwany przez wszystkie główne języki programowania i biblioteki:

  • Python – moduł codecs (codecs.decode(b'...', 'iso-8859-2'))
  • Java – Charset.forName("ISO-8859-2")
  • C/C++ – biblioteka iconv
  • HTML i XML – deklaracja <meta charset="ISO-8859-2">

Podsumowanie

ISO‑8859‑2 odegrał kluczową rolę w ujednoliceniu sposobu zapisu tekstu w językach środkowo‑europejskich w erze przed‑Unicode. Choć dziś jest już rzadko używany, pozostaje ważnym elementem historii informatyki i wciąż można natrafić na jego obecność w starszych systemach oraz w archiwach cyfrowych.


Powiązane artykuły: ISO‑8859‑1, Unicode, UTF‑8, Windows‑1250, język polski, język czeski, język węgierski.