encyklopedia.space

ISO/IEC 8859

ISO/IEC 8859 – seria międzynarodowych standardów kodowania znaków opracowanych przez ISO (Międzynarodową Organizację Normalizacyjną) we współpracy z IEC (Międzynarodową Komisją Elektrotechniczną). Standardy te definiują 8‑bitowe zestawy znaków, które rozszerzają 7‑bitowy kod ASCII o dodatkowe znaki potrzebne w różnych językach i tradycjach pisma.

Historia i kontekst

Podstawą ISO/IEC 8859 jest wcześniejszy standard ISO/IEC 646, czyli 7‑bitowy kod oparty na ASCII, używany głównie w systemach anglo‑saskich. W latach 80. XX‑w. pojawiła się potrzeba wprowadzenia jednolitego zestawu znaków zdolnego obsłużyć języki zachodnioeuropejskie, wschodnioeuropejskie, arabskie i inne. W odpowiedzi powstała seria ISO/IEC 8859‑x, gdzie x oznacza numer części dedykowanej określonemu zakresowi językowemu.

Struktura serii

Każda część serii ISO/IEC 8859 definiuje 256 kodów (0‑255). Kody 0‑127 są identyczne z ASCII, natomiast kody 128‑255 zawierają znaki specyficzne dla danej grupy językowej. Do najważniejszych części należą:

Znaczenie i zastosowanie

Standardy ISO/IEC 8859 były przez wiele lat podstawą kodowania znaków w systemach operacyjnych, przeglądarkach internetowych i aplikacjach biurowych. Do ich szerokiego przyjęcia przyczyniły się:

  • Kompatybilność ze wstÄ™pnie istniejÄ…cym kodowaniem ASCII – uĹ‚atwiaĹ‚a migracjÄ™ istniejÄ…cych programĂłw.
  • Jednoznaczny zestaw znakĂłw dla konkretnych grup jÄ™zykowych – eliminowaĹ‚ problemy z tzw. „mojibake”.
  • Wsparcie w standardach HTML 4.0, ktĂłre pozwalaĹ‚y okreĹ›lić zestaw znakĂłw w atrybucie charset.

Wraz z rozwojem Unicode oraz UTF‑8 popularność kodowań z serii ISO/IEC 8859 stopniowo maleje, lecz wciąż są używane w niektórych starszych systemach, bazach danych oraz w specjalistycznych aplikacjach przemysłowych.

PorĂłwnanie z Unicode

Podstawowa różnica między ISO/IEC 8859 a Unicode polega na liczbie dostępnych znaków: ISO/IEC 8859 ogranicza się do 256 symboli, podczas gdy Unicode definiuje ponad 150 000 kodów obejmujących praktycznie wszystkie współczesne i historyczne systemy pisma. Dzięki temu Unicode (w szczególności w formacie UTF‑8) stał się uniwersalnym rozwiązaniem dla aplikacji wielojęzycznych i Internetu.

Implementacja i wsparcie techniczne

W praktyce obsługa ISO/IEC 8859 jest zapewniona przez większość języków programowania i bibliotek:

  • W C i C++ przy pomocy funkcji setlocale oraz bibliotek iconv.
  • W Javie poprzez klasy Charset (np. Charset.forName("ISO-8859-2")).
  • W Pythonie uĹĽycie kodowania "iso8859_1", "iso8859_2" itp.

Obecny status

Choć ISO/IEC 8859 nie jest już dominującym standardem kodowania, jego części wciąż pozostają w oficjalnych repertoriach IANA jako registered character sets. Dokumenty normatywne są dostępne w bazie danych ISO pod numerami ISO/IEC 8859‑1:1998, ISO/IEC 8859‑2:2007 i podobnie dla kolejnych części.

Powiązane pojęcia