encyklopedia.space

ISO/IEC 8859‑5

ISO/IEC 8859‑5 (czasami określany po prostu jako ISO‑8859‑5) jest jedną z serii 8‑bitowych zestawów znaków opracowanych wspólnie przez ISO i IEC. Standard ten przeznaczony jest do kodowania alfabetu cyrylicznego stosowanego w językach słowiańskich i nie‑słowiańskich, m.in. w języku rosyjskim, ukraińskim, białoruskim, bułgarskim, macedońskim oraz serbskim (w wersji cyrylicznej).

Geneza i opracowanie

Podstawy techniczne serii ISO/IEC 8859 zostały sfinalizowane w 1987 r., a poszczególne warianty pojawiały się w kolejnych latach. Wersja 5, dedykowana cyrylicy, została przyjęta w 1988 roku i od tego czasu pełniła rolę podstawowego kodowania w wielu systemach operacyjnych oraz aplikacjach biurowych, zanim została w dużej mierze wyparta przez Unicode i jego formy kodowania UTF‑8 oraz UTF‑16.

Struktura kodowania

ISO/IEC 8859‑5 jest jednobajtowym zestawem znaków (każdy znak zajmuje dokładnie 8 bitów). Pierwsze 128 kodów (0x00‑0x7F) jest identyczne z ASCII, natomiast górna półka 0xA0‑0xFF zawiera znaki cyryliczne oraz kilka dodatkowych symboli.

Hex Kod Unicode Symbol / Litera Opis
A0U+00A0 niełamiąca spacja
A1U+040EЎCyrylica – mała litera „U krótkie” (białoruski)
A2U+045EўCyrylica – wielka litera „U krótkie” (białoruski)
A3U+0404ЄCyrylica – wielka litera „E ukraińskie”
A4U+0454єCyrylica – mała litera „e ukraińskie”
A5U+0407ЇCyrylica – wielka litera „Yi” (ukraiński)
A6U+0457їCyrylica – mała litera „yi” (ukraiński)
A7U+0401ЁCyrylica – wielka litera „Yo” (rosyjski)
A8U+0402ЂCyrylica – wielka litera „Dje” (serbski)
A9U+0403ЃCyrylica – wielka litera „Gje” (macedoński)
AAU+0404ЄCyrylica – wielka litera „E ukraińskie”
ABU+0405ЅCyrylica – wielka litera „Dze” (macedoński)
ACU+0406ІCyrylica – wielka litera „I” (ukraiński)
ADU+0407ЇCyrylica – wielka litera „Yi” (ukraiński)
AEU+0408ЈCyrylica – wielka litera „Je” (serbski)
AFU+0409ЉCyrylica – wielka litera „Lje” (serbski)
B0U+040AЊCyrylica – wielka litera „Nje” (serbski)
B1U+040BЋCyrylica – wielka litera „Tse” (serbski)
B2U+040CЌCyrylica – wielka litera „Kje” (macedoński)
B3U+040DЍCyrylica – wielka litera „I grave” (bułgarski)
B4U+040EЎCyrylica – wielka litera „U krótkie” (białoruski)
B5U+040FЏCyrylica – wielka litera „Dzhe” (serbski)
B6U+0410АCyrylica – wielka litera „A”
...Pozostałe kody od 0xB6 do 0xFF zawierają pełny zestaw wielkich i małych liter cyrylicy oraz niektóre znaki interpunkcyjne i matematyczne.

Porównanie z innymi odmianami ISO/IEC 8859

Zastosowania praktyczne

Standard był szeroko wykorzystywany w następujących obszarach:

  • systemy operacyjne – m.in. MS‑DOS, Windows 95/98/ME oraz wczesne wersje Linuksa (lokalizacje ru_RU.iso88595);
  • oprogramowanie biurowe – Microsoft Office do wersji 2003, OpenOffice.org oraz LibreOffice;
  • protokoły internetowe – niektóre starsze serwery poczty elektronicznej (Content‑Type: text/plain; charset=ISO-8859-5) i aplikacje FTP;
  • aplikacje wbudowane – urządzenia konsumenckie sprzed połowy lat 2000, w których ograniczona pamięć wymuszała jednobajtowe kodowanie.

Wsparcie w systemach współczesnych

Choć Unicode stał się de facto standardem globalnym, wiele środowisk nadal udostępnia konwersję z/na ISO/IEC 8859‑5:

  • iconv – biblioteka konwersji znaków (dostępna w glibc);
  • systemy baz danych – MySQL i PostgreSQL umożliwiają definiowanie kolumny o kodowaniu latin5 (alias ISO‑8859‑5);
  • przeglądarki internetowe – obsługa meta‑tagu <meta charset="ISO-8859-5"> w trybie kompatybilności.

Relacja z Unicode i UTF‑8

Każdy znak w ISO/IEC 8859‑5 ma jednoznaczną reprezentację w Unicode – jest to po prostu mapowanie kodu 0xA0‑0xFF na odpowiedni punkt kodowy U+00A0‑U+045F. Dzięki temu konwersja między kodowaniem a UTF‑8 (lub UTF‑16) jest trywialna i zwykle realizowana przez jednopunktowy przegląd tabeli mapowań.

Ograniczenia

  • Jedynie cyrylica – brak wsparcia dla dodatkowych znaków używanych w nowoczesnych językach (np. litery „ґ”, „ӣ”, znaki diakrytyczne używane w języku tatar).
  • Brak kodowania znaków spoza zakresu 0x00‑0xFF – niemożliwe jest reprezentowanie symboli matematycznych czy emoji.
  • Trudności w mieszanej treści – dokumenty zawierające jednocześnie tekst łaciński i cyrylicę wymagały przełączania kodowań lub użycia Unicode.

Zobacz także

Bibliografia

  1. ISO/IEC 8859‑5:1999 – Information technology – 8‑bit single‑byte coded graphic character sets – Part 5: Cyrillic.
  2. „Historia kodowań tekstowych” – publikacja w Encyklopedii Informatyki, 2005.
  3. Unicode Consortium – „Unicode Standard, Version 14.0”, rozdział „Compatibilty with ISO 8859‑5”.