Szukaj

Szuka wszystkich słów.
Strona wyszukiwarki

Standardy kodowania rosyjskich znaków

Standardów kodowania rosyjskich znaków jest, zależnie od tego jak je liczyć, co najmniej pięć. Wybór jednego z nich jest o tyle ważny, że teksty zapisane w danym standardzie są całkowicie nieodczytywalne w pozostałych (inaczej niż w alfabetach łacińskich, gdzie niezgodność kodowania upośledza tylko wyświetlanie niektórych liter).

Unikod

Wprowadzenie Unikodu (normą ISO 10646) rozwiązuje definitywnie wszystkie problemy z różnymi, niezgodnymi sposobami kodowania i umożliwia nie tylko wygodne pisanie w dowolnym języku bez zastanawiania się nad kodowaniem, ale również łączenie znaków diakrytycznych z wielu zestawów w jednym dokumencie. Jeżeli to możliwe, warto używać Unikodu.

Unikod jest realizowany za pomocą kilku różnych standardów kodowania, ale powszechnie stosowany w Internecie i wygodny do używania w Windows jest UTF-8.

Mimo swoich zalet, Unikod ciągle nie jest jednak wszędzie obsługiwany, dlatego czasem warto zdecydować się na inne kodowanie. Poniżej omówione są inne standardy kodowania, a na końcu znajduje się propozycja, którego kiedy używać.

Dwa najczęściej używane standardy

KOI8-R

Występuje także jako ISO-IR-111 i ECMA/Cyryllic. Standard de facto. Najbardziej rozpowszechniony sposób kodowania poczty elektronicznej i stron internetowych, którego pierwowzór objęty był normą GOST. Ósemka oznacza, że jest to wersja 8-bitowa (istniał również KOI7), a literka R - że kodowany jest alfabet rosyjski (obok m.in. ukraińskiego KOI8-U i połączonego z obu języków KOI8-RU).

Standard KOI8-R umożliwia zachowanie semigrafiki, a jego najciekawszą własnością jest to, że nawet wyzerowanie ósmego bitu nie powoduje utraty informacji, gdyż pierwsze 7 bitów każdej litery rosyjskiej pokrywa się z kodem jej łacińskiego odpowiednika (z jednoczesną zamianą małych liter na duże i vice versa). Przykładowo, po utracie 8 bitu Текст zostanie zamieniony na tEKST.

Windows-1251

Uzyskał swą popularność wraz z Windows dzięki temu, że jest standardem używanym przez ten system. Nie umożliwia korzystania z semigrafiki i nie zawiera pustego ostatniego znaku (FFh), co również może powodować problemy. Mimo tych wad jest wykorzystywany na wielu stronach w Internecie.

Pozostałe sposoby kodowania

ISO 8859–5:1988

Zwany czasem ISO-IR-113). Niewiele brakowało, a byłaby to kolejna emanacja KOI8-R. Tak się jednak nie stało w wyniku zmiany decyzji GOST, w ostatniej chwili. Standard de iure — jest on jednak na tyle nieudany (m.in. nie zawiera przynajmniej kilku przydatnych symboli) — że nigdy się nie przyjął i od zawsze był praktycznie martwy.

MS-DOS CP 866

System kodowania używany przez system operacyjny DOS. Umożliwia oczywiście korzystanie z semigrafiki.

MacCyryllic

Standard używany w komputerach firmy Apple.

Którego kiedy używać

Na stronach internetowych

Mniej więcej jednakowo popularne są KOI8-R i Windows-1251, przy czym ten drugi nie jest tak znienawidzony przez część społeczności internetowej jak jego polski odpowiednik Windows-1250.

  • Jeśli będziesz pisać tylko po rosyjsku — użyj któregoś z nich.
    • Lepiej użyć standardu Windows, jeśli będziesz redagować stronę pod tym systemem.
    • Jeśli będziesz redagować stronę w Linuksie, lepiej użyć KOI8-R.
  • Jeśli chcesz pisać na jednej stronie po rosyjsku i po polsku (albo w jakimś innym języku, który wymaga użycia znaków diakrytycznych) — użyj UTF-8.

W poczcie elektronicznej

Jak dla stron internetowych — jeden z powyższych albo w ogóle żaden (użyj transliteracji).

Przenoszenie plików pomiędzy polskim a rosyjskim Windows

  • Pliki pakietu Office (podobnie jak większość innych «bogatych» formatów) nie wymagają żadnych dodatkowych czynności.
  • Pliki tekstowe stworzone w Notatniku najlepiej zapisywać w UTF-8 i w takiej postaci przenosić.
    • Jeśli masz plik z tekstem rosyjskim, którego nie możesz przeczytać (wyświetlają się krzaki), otwórz go w przeglądarce internetowej i ręcznie zmień kodowanie na odpowiednie.
  • Jeśli znaki diakrytyczne zostały użyte w nazwach plików, mogą pojawić się problemy z przenośnością.

Przenoszenie plików w Linuksie

  • Zależnie od ustawień (KOI8-R albo UTF-8).
  • W najgorszym wypadku użyj narzędzia iconv -f CP1251 -t KOI8-R < źródło > cel (podane kodowanie jest przykładowe).

Gdy dalej nie jesteśmy pewni

Najbezpieczniejsze są:

  • Transliteracja, bo — chociaż wygląda nienajlepiej — może być odczytana wszędzie.
  • Unikod, w szczególności UTF-8, bo na pewno będzie go można wszędzie odczytać za 10 lat (kto dziś pamięta o takim kodowaniu polskich liter jak Mazovia czy Cyfromat)?
  • KOI8-R, bo ze znaków można usunąć ósmy bit i w ten sposób wyświetlić tekst w łacińskim przybliżeniu (MAŁE znaki zmienią się na duże i odwrotnie).

Tablice znaków wykorzystane w artykule pochodzą ze strony Romana Czyborra.

Autor: Piotr Szczepański

© 2005–2006 Matrioszka i autorzy. Wykorzystanie informacji w celach niezarobkowych dozwolone pod warunkiem podania odsyłacza do źródła. Redakcja nie odpowiada za zawartość stron, do których prowadzą odsyłacze zewnętrzne. Obowiązują Warunki korzystania z serwisu. Grafika i programowanie: Piotr Szczepański. Ostatnie zmiany na tej podstronie: 2006.09.18 00:01 CEST. Dziękujemy i polecamy:

W3C-XHTML W3C-CSS XName Linux Apache PHP Firefox PmWiki ModLogAn