ISO/IEC 8859
ISO/IEC 8859 – seria międzynarodowych norm określających 8‑bitowe kodowanie znaków przeznaczone do reprezentacji alfabetów zachodnio‑europejskich, środkowo‑europejskich oraz kilku innych grup językowych. Standardy te zostały opracowane w latach 80. XX wieku przez ISO (Międzynarodową Organizację Normalizacyjną) we współpracy z IEC (Międzynarodową Komisją Elektrotechniczną). Ich nazwa przyjęła format ISO/IEC 8859‑X, gdzie X oznacza kolejny numer części.
Historia i kontekst
Wcześniej powszechnie używanym standardem był ASCII – jedynie 7‑bitowy zestaw 128 znaków, niewystarczający do zapisu większości języków europejskich. W odpowiedzi na rosnącą potrzebę obsługi znaków diakrytycznych opracowano pierwszą część serii ISO/IEC 8859, opublikowaną w 1987 roku. Do 1999 roku przyjęto 16 wersji (od 8859‑1 do 8859‑16), a po nich pojawiły się dodatkowe rozszerzenia, które nie zostały włączone do głównej numeracji.
Budowa standardu
Każda część serii ISO/IEC 8859 definiuje zestaw 256 znaków (0‑255). Pierwsze 128 kodów (0‑127) jest identyczne z ASCII, co zapewnia wsteczną kompatybilność. Druga połowa (128‑255) zawiera znaki specyficzne dla wybranej grupy językowej – litery z akcentami, znaki interpunkcyjne, symbole walutowe oraz wybrane znaki graficzne.
Poszczególne części ISO/IEC 8859
| Numer | Pełna nazwa | Obsługiwane języki / regiony | Inne nazwy |
|---|---|---|---|
| ISO/IEC 8859‑1 | Latin‑1 (Western European) | angielski, francuski, niemiecki, hiszpański, portugalski, włoski, niderlandzki, skandynawskie | Western European (ISO‑Latin‑1) |
| ISO/IEC 8859‑2 | Latin‑2 (Central European) | polski, czeski, słowacki, węgierski, słoweński, chorwacki, serbski (łaciński) | Central European |
| ISO/IEC 8859‑3 | Latin‑3 (South European) | turecki, maltański, kataloński | South European |
| ISO/IEC 8859‑4 | Latin‑4 (North European) | estoński, łotewski, litewski | North European |
| ISO/IEC 8859‑5 | Cyrillic | rosyjski, bułgarski, serbski (cyrylica), ukraiński | Cyrillic |
| ISO/IEC 8859‑6 | Arabic | arabski | Arabic |
| ISO/IEC 8859‑7 | Greek | grecki | Greek |
| ISO/IEC 8859‑8 | Hebrew | hebrajski | Hebrew |
| ISO/IEC 8859‑9 | Latin‑5 (Turkish) | turecki | Turkish |
| ISO/IEC 8859‑10 | Latin‑6 (Nordic) | norweski, duński, islandzki, farerski, zielandzki | Nordic |
| ISO/IEC 8859‑11 | Thai | tajski | Thai |
| ISO/IEC 8859‑13 | Latin‑7 (Baltic Rim) | estoński, litewski, łotewski | Baltic Rim |
| ISO/IEC 8859‑14 | Latin‑8 (Celtic) | irlandzki, walijski, bretoński, gaelicki | Celtic |
| ISO/IEC 8859‑15 | Latin‑9 (Western European, revised) | rozszerzona wersja Latin‑1 z euro i znakami francuskiego ſ | Latin‑9 |
| ISO/IEC 8859‑16 | Latin‑10 (South‑East European) | rumuński, wietnamski, albański, chorwackki (łaciński) | South‑East European |
PowiÄ…zania z innymi standardami
Series ISO/IEC 8859 były w dużej mierze wykorzystywane jako podstawa do powstania Unicode. W Unicode każdy zestaw ISO/IEC 8859 został odwzorowany jako blok kodowy, co zapewniło płynne przejście od starszych systemów 8‑bitowych do współczesnych, 16‑ i 32‑bitowych reprezentacji znaków (ISO/IEC 10646).
Zastosowanie
- Starsze systemy operacyjne i urządzenia embedded, które nie obsługują pełnego zestawu Unicode.
- Wczesne wersje przeglądarek internetowych oraz protokoły e‑mail (np. MIME) wykorzystywały nagłówki
charset=ISO-8859-1i podobne. - Dokumenty techniczne, w tym standardy telekomunikacyjne i przemysłowe, w których wymagana była jednolita, niewielka pamięciowo reprezentacja znaków.
Ograniczenia i dalszy rozwĂłj
Mimo że ISO/IEC 8859 zapewniało istotny krok naprzód w stosunku do ASCII, jego 8‑bitowa struktura nie pozwala na jednoczesne kodowanie wielu języków w jednym pliku. W związku z globalizacją i rosnącą potrzebą obsługi języków poza europejskim obszarem, standardy te stopniowo zostały wypierane przez Unicode. Współcześnie użycie ISO/IEC 8859 jest ograniczone do specyficznych, starszych aplikacji oraz sytuacji, w których wymagana jest niewielka rozdzielczość znakowa.