Norma ISO/IEC 10646 opisuje uniwersalny zestaw znaków (UCS – Universal Character Set) służący do opisu znaków (liter, cyfr, symboli, ideogramów itd.) z wielu języków, pism i tradycji na świecie. Zestaw zawiera około 100 000 abstrakcyjnych znaków, z których każdy posiada unikalną nazwę i kod znaku.

Teoretycznie standard pozwala na zapisanie ponad 2 miliardów znaków (w 31 bitach, zobacz UCS-4), jednak w powszechnym użyciu jest jedynie pierwsze 65 536 znaków (UCS-2) ze zbioru Podstawowej Płaszczyzny Wielojęzycznej (BMP - Basic Multilingual Plane).

UCS jest ciągle rozwijany, aktualnie trwają prace nad poprawką numer 3 i 4 do standardu ISO/IEC 10646:2003 Amendment 1 and Amendment 2.WG2 - Projects

Relacje do Unicode W 1991 ISO Working Group podjęło współpracę z Unicode Consortium w celu stworzenia jednego standardu dla zapisu wielojęzykowego tekstu. Unicode 1.1 opublikowany w 1993 roku był już zgodny z normą ISO/IEC 10646-1:1993. Odtąd Unikod stał się oficjalną implementacją ww. normy.

ISO/IEC 10646-1:1993 ≈ Unicode 1.1 ISO/IEC 10646-1:2000 ≈ Unicode 3.0 ISO/IEC 10646-2:2001 ≈ Unicode 3.2 ISO/IEC 10646:2003 ≈ Unicode 4.0 ISO/IEC 10646:2003 plus Amendment 1 ≈ Unicode 4.1 ISO/IEC 10646:2003 plus Amendment 1, Amendment 2, oraz część Amendment 3 ≈ Unicode 5.0 Zobacz §D.1 of The Unicode Standard dla szczegółowych informacji.

Konwersja pomiędzy kodowaniem ISO 10646 a innymi

Format określony w ISO 10646 jest już używany w technologii XML. W związku z problemami podczas obsługi kodowania ISO-8859-2 sugerowane jest przekodowanie znaków spoza ASCII na odpowiednie leksemy.

Przykładowy plik XML może mieć postać: <test opis="Zażółć gęślą jaźń"> Po konwersji wygląda tak: <test opis="Za&#380;&#243;&#322;&#263; g&#281;&#347;l&#261; ja&#378;&#324;">

Do wykonania konwersji może być przydatny program AWK

gsub(/Ą/, "\\&#260;"); gsub(/Ć/, "\\&#262;"); gsub(/Ę/, "\\&#280;"); gsub(/Ł/, "\\&#321;"); gsub(/Ń/, "\\&#323;"); gsub(/Ó/, "\\&#211;"); gsub(/Ś/, "\\&#346;"); gsub(/Ź/, "\\&#377;"); gsub(/Ż/, "\\&#379;"); gsub(/ą/, "\\&#261;"); gsub(/ć/, "\\&#263;"); gsub(/ę/, "\\&#281;"); gsub(/ł/, "\\&#322;"); gsub(/ń/, "\\&#324;"); gsub(/ó/, "\\&#243;"); gsub(/ś/, "\\&#347;"); gsub(/ź/, "\\&#378;"); gsub(/ż/, "\\&#380;"); print

Zobacz też Unicode UCS-4 UCS-2

Przypisy

Linki zewnętrzne Strona grupy standaryzującej

Kategoria:Unicode