ISO/IEC 8859‑3 – Latin‑3 (South European)
ISO/IEC 8859‑3 (czasem oznaczany jako Latin‑3 lub South European) to jeden z zestawów znaków z rodziny ISO/IEC 8859, opracowany w celu wsparcia języków używających alfabetu łacińskiego w południowej Europie oraz w niektórych częściach Afryki Północnej. Standard określa jednobajtowy kodowanie znaków (8 bitowe), w którym pierwsze 128 pozycji (0‑127) jest identyczne z kodem ASCII, a druga połowa (128‑255) zawiera znaki specyficzne dla wybranych języków.
Historia
Projekt ISO/IEC 8859‑3 został przyjęty w 1992 roku jako rozszerzenie dotychczasowych wariantów ISO/IEC 8859‑1 (Latin‑1) i ISO/IEC 8859‑2 (Latin‑2). Celem było pokrycie braków w obsłudze alfabetów maltańskiego, tureckiego (w wersji tradycyjnej), włoskiego oraz niektórych języków bałkańskich, które nie były w pełni reprezentowane w istniejących kodowaniach.
Zakres znaków
Poniższa tabela przedstawia najważniejsze grupy znaków dostępnych w 8‑bitowej części standardu (128‑255). Wszystkie pozycje od 0 do 127 są zgodne z ASCII.
| Kod szesnastkowy | Symbol | Opis | Języki |
|---|---|---|---|
| A0 | Niełamiąca spacja | Wszystkie | |
| A1 | ħ | mała litera h z haczykiem | Maltese |
| A2 | Ħ | wielka litera H z haczykiem | Maltese |
| A3 | Ċ | wielka litera C z kropką | Maltese |
| A4 | ċ | mała litera c z kropką | Maltese |
| A5 | Ġ | wielka litera G z kropką | Maltese |
| A6 | ġ | mała litera g z kropką | Maltese |
| A7 | Ħ | wielka litera H z haczykiem (alternatywa) | Maltese |
| A8 | Ŀ | wielka litera L z kreską | Maltese, Esperanto |
| A9 | ŀ | mała litera l z kreską | Maltese, Esperanto |
| AA | Ż | wielka litera Z z kropką | Polski (alternatywa) |
| AB | ż | mała litera z z kropką | Polski (alternatywa) |
| E0 | à | mała litera a z akcentem grave | Włoski, francuski, hiszpański |
| E1 | á | mała litera a z akcentem acute | Włoski, hiszpański |
| E7 | ç | mała litera c z cedillą | Francuski, portugalski, turecki (tradycyjny) |
| F1 | ñ | mała litera n z tyldą | Hiszpański |
| F9 | ù | mała litera u z akcentem grave | Włoski, francuski |
Zastosowania
ISO/IEC 8859‑3 był szeroko stosowany w następujących obszarach:
- Systemy operacyjne i aplikacje w krajach śródziemnomorskich (np. Malta, Cypr, Turcja – starsze wersje)
- Urządzenia wbudowane, zwłaszcza te przeznaczone na rynki południowoeuropejskie
- Architektura sieciowa w latach 90. – w dokumentach MIME i nagłówkach HTTP oznaczano ją jako
ISO-8859-3 - Archiwa cyfrowe zawierające historyczne teksty maltańskie i tureckie
Kompatybilność i zamienniki
Wraz z rosnącą popularnością Unicode oraz kodowania UTF‑8, użycie ISO/IEC 8859‑3 stopniowo maleje. Unicode obejmuje wszystkie znaki dostępne w ISO/IEC 8859‑3 oraz wiele dodatkowych, co czyni go uniwersalnym rozwiązaniem. W praktyce wiele systemów oferuje automatyczną konwersję:
ISO‑8859‑3 → Unicode (U+00A0 … U+00FF)
Unicode → ISO‑8859‑3 (jeśli znak znajduje się w tabeli)
Przy konwersji znaków spoza zakresu powstaje zamiennik (zazwyczaj znak zapytania ?).
Porównanie z innymi wariantami ISO/IEC 8859
| Standard | Region | Główne języki | Unikalne znaki |
|---|---|---|---|
| ISO/IEC 8859‑1 | Europa Zachodnia | Angielski, francuski, niemiecki, hiszpański | Ž, Ÿ, ÿ |
| ISO/IEC 8859‑2 | Europa Środkowa | Polski, czeski, słowacki | Ł, Ć, Ő |
| ISO/IEC 8859‑3 | Południowa Europa, Malta, Turcja (tradycyjna) | Maltese, włoski, turecki (tradycyjny) | Ħ, Ċ, Ġ, ſ |
| ISO/IEC 8859‑4 | Europa Północna | Estoński, łotewski | Ģ, Ŗ |
| ISO/IEC 8859‑5 | Cyrylica | Rosyjski, bułgarski | Cyrylica |
Standardy i dokumentacja
Podstawowy dokument opisujący zestaw znaków to ISO/IEC 8859‑3:1992 – Information technology – 8‑bit single‑byte coded graphic character sets – Part 3: Latin‑3. Aktualizacje i poprawki były publikowane w ramach ISO oraz IEC.
Przykładowe użycie w kodzie
Poniżej przedstawiono przykład dekodowania łańcucha w języku Python:
>>> bajty = b'\xc4\x85\xef\xbe' # przykładowe dane w ISO‑8859‑3
>>> tekst = bajty.decode('iso8859_3')
>>> print(tekst)
Ąï¾
Podsumowanie
ISO/IEC 8859‑3 to historycznie ważny wariant kodowania, który wypełnił lukę w obsłudze alfabetów południowej Europy i Malty. Mimo że dziś jest w dużej mierze wypierany przez Unicode, wciąż spotyka się w starszych systemach oraz w archiwach cyfrowych, dlatego jego znajomość jest przydatna przy migracji danych i analizie historycznych dokumentów.