Cyrillic HOWTO pl 2 (2)


The Cyrillic HOWTO: 2. Znaki i zestawy znaków Następna strona Poprzednia strona Spis treści 2. 2. Znaki i zestawy znaków Ażeby zrozumieć i wyświetlać znaki różnych języków, system i programy muszą być zdolne odróżniać je od innych znaków. To jest, każdy pojedynczy znak musi mieć odrębną reprezentację wewnątrz systemu operacyjnego, bądź konkretnego pakietu programów. Taka kolekcja wszystkich odrębnych znaków które jakiś system jest w stanie reprezentować w danym momencie nazywa się zestawem znaków. W czasie tworzenia największych systemów operacyjnych nikt nie dbał o to aby programy były wielojęzyczne. Dlatego też najpopularniejszym zestawem znaków był (i ciągle jest) ASCII (American Standard Code for Information Interchange). Standardowy ASCII (aka siedmiobitowy ASCII) zawiera 128 odrębnych kodów. Niektóre z nich ASCII definiuje jako faktyczne drukowalne znaki, a niektóre są tak zwanymi znakami kontrolnymi, które posiadały specjalne znaczenia w starszych protokołach komunikacyjnych. Każdy element zestawu identyfikuje kod będący liczbą całkowitą (0-127). Podzbiór znaków drukowalnych przedstawia te które znaleźć można na klawiaturze maszyny do pisania, z niewielkimi dodatkami. Każdy znak zajmuje siedem najmniej znaczących bitów bajtu, podczas gdy najbardziej znaczący używany był dla celów kontrolnych (np. kontroli transmisji w starszych pakietach komunikacyjnych). Koncepcję ASCII siedmiobitowego rozszerzył ASCII ośmiobitowy (aka rozszerzony ASCII). W tym zestawie zakres kodów znaków to 0-255. Dolna połowa (0-127) to czysty ASCII, podczas gdy górna zawiera 127 dodatkowych znaków. Ponieważ zestaw ten jest wstecznie kompatybilny z ASCII (znak ciągle zajmuje osiem bitów, kody odpowiadają staremu ASCII), zyskał on sobie szeroką popularność. ASCII ośmiobitowe nie definiuje zawartości górnej połówki zestawu. Dlatego ISO powzięło zadanie ustalenia rodziny standardów znanych jako rodzina ISO-8859-X. Jest to zbiór kodowań ośmiobitowych, w których niższa połowa każdego kodowania (0-127) odpowiada ASCII, a wyższa definiuje znaki dla różnych języków. Zdefiniowano na przykład następujące kodowania: 8859-1 - Europa Zachodnia, Ameryka Łacińska (znany też jako Latin 1) 8859-2 - Europa Środkowa i Wschodnia 8859-5 - cyrylica 8859-8 - hebrajski W Latin 1 górna połowa tabeli definiuje różne znaki które nie są częścią alfabetu angielskiego, ale znajdują się w różnych językach zachodnioeuropejskich (umlauty niemieckie, akcenty francuskie). Programy które nie zakładają nic co do ósmego bitu danych ASCII zwane są ośmiobitowo czystymi. Niektóre starsze programy, napisane z myślą o ASCII 7-bitowym, nie są czyste ośmiobitowe i mogą działać niepoprawnie z danymi ośmiobitowymi. Większość jednak pakietów domyślnie radzi sobie z ośmiobitowym ASCII, albo wymaga bardzo prostego ustawienia. UWAGA: zanim wyślesz pytanie "Wszystko ustawiłem poprawnie, a nie mogę wprowadzać/oglądać znaków cyrylicowych!", zajrzyj do sekcji 8 co do uwag o programie którego używasz. Ponieważ na większości systemów ASCII zajmuje osiem bitów, nie ma już możliwość aby ciągle je rozszerzać. Sposobem na zaimplementowanie nowych symboli w kodowaniach opartych na ASCII jest stworzenie innej implementacji rozszerzonego ASCII. W taki właśnie sposób zaimplementowane zostało kodowanie cyrylicy w ASCII. Wspomnieliśmy już o standardzie ISO-8859-5 jako określającym kodowanie cyrylicy. Lecz jak to często bywa ze standardami, stworzono go nie biorąc pod uwagę istniejącej praktyki w byłym ZSRR. Jedyną więc rzeczą jaką ten standard osiągnął było spotęgowanie zamieszania. Nie powiedziałbym że gdzieś się znacząco używa ISO-8859-5. Innymi standardami kodowania cyrylicy są tak zwane kodowanie Alt i strona kodowa 1251 Microsoftu. Ta pierwsza stworzona została (przez kogo?) dość dawno temu na potrzeby MS-DOS. W tamtych czasach nie było jeszcze tego całego szumu o internetowaniu, intencją więc było uczynienie jej jak najbardziej kompatybilnej ze standardem IBM. Dlatego kodowanie Alt jest w rzeczywistości stroną kodową IBM, gdzie wszystkie specjalne znaki europejskie w górnej połówce zastąpiono cyrylicznymi, z wyłączeniem pseudografiki. Nie rujnowało to łatwego tworzenia okienek i dawało także znaki cyrylicowe. Standard Alt ciągle żyje i jest niesłychanie popularny w świecie MS-DOSa. Strona kodowa 1251 to po prostu próba Microsoftu pokazania nowego standardu dla kodowania cyrylicy w Windows. Na ile wiem, nie jest ona kompatybilna z czymkolwiek (niezbyt dziwne, co?) I w końcu istnieje KOI-8. Jest ono również stare, ale zaprojektowano je mądrze i dzisiaj założenia tego projektu wyglądają naprawdę użytecznie. I znów, jest ono kompatybilne z ASCII, a znaki cyrylicy umieszczone są w górnej połówce. Lecz głównym założeniem projektowania KOI-8 jest to że pozycje znaków cyrylicy muszą odpowiadać znakom angielskim o zbliżonej wymowie. Konkretnie, jeśli ustawimy ósmy bit w angielskim 'a', dostaniemy 'a' cyrylicowe. Oznacza to że jeśli mamy tekst pisany cyrylicą w KOI-8, możemy uciąć ósmy bit z każdego znaku i dalej mieć czytelny tekst. Bardzo to dzisiaj ważne, ponieważ w Internecie jest wiele węzłów pocztowych które po prostu po cichu obcinają ósmy bit, pewne że wszyscy na całej Ziemi mówią po angielsku. Nic dziwnego że KOI-8 szybko stał się de facto standardem dla cyrylicy w Internecie. Andriej A. Czernow poczynił ogromne nakłady pracy aby ustalić w tym obszarze standard. Jest on autorem RFC 1489 ("Registration of a Cyrillic character set"). Te dwa standardy [Alt i KOI-8] różnią się tylko pozycjami znaków cyrylicowych w tabeli (to jest kodami znaków cyrylicowych)/ Główną różnicą jest to że kodowanie Alt używane jest tylko przez użytkowników MS-DOS, podczas gdy KOI-8 używane jest w Unixie, a także w MS-DOSie (chociaż w tym drugim jest znacznie mniej popularne). Ponieważ robimy to co trzeba (to znaczy pracujemy w systemie Unixowym) skupimy się głównie na KOI-8. Co do standardu ISO, jest on bardziej popularny jako standard cyrylicy. w Europie i USA. W Rosji zdecydowanie przoduje KOI-8. Istnieją i inne standardy, różne od ASCII i o wiele bardziej elastyczne. Najbardziej znanym jest Unicode. Nie są jednak one zaimplementowane tak dobrze jak te podstawowe w Unixie w ogólności i Linuxie w szczególności. Dlatego też nie będę ich tu opisywał. Następna strona Poprzednia strona Spis treści

Wyszukiwarka

Podobne podstrony:
Cyrillic HOWTO pl 4 (2)
Cyrillic HOWTO pl 1 (2)
Cyrillic HOWTO pl
Cyrillic HOWTO pl 6 (2)
Cyrillic HOWTO pl 10 (2)
cyrillic howto pl
Cyrillic HOWTO pl 5 (2)
cyrillic howto pl 3
Cyrillic HOWTO pl 9 (2)
Cyrillic HOWTO pl 7 (2)
Cyrillic HOWTO pl (2)
bootdisk howto pl 8
PPP HOWTO pl 6 (2)
NIS HOWTO pl 1 (2)
cdrom howto pl 1
jtz howto pl 5
Keystroke HOWTO pl (2)
PostgreSQL HOWTO pl 14

więcej podobnych podstron