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żółć gęślą jaźń">
Do wykonania konwersji może być przydatny program AWK
gsub(/Ą/, "\\Ą"); gsub(/Ć/, "\\Ć"); gsub(/Ę/, "\\Ę"); gsub(/Ł/, "\\Ł"); gsub(/Ń/, "\\Ń"); gsub(/Ó/, "\\Ó"); gsub(/Ś/, "\\Ś"); gsub(/Ź/, "\\Ź"); gsub(/Ż/, "\\Ż"); gsub(/ą/, "\\ą"); gsub(/ć/, "\\ć"); gsub(/ę/, "\\ę"); gsub(/ł/, "\\ł"); gsub(/ń/, "\\ń"); gsub(/ó/, "\\ó"); gsub(/ś/, "\\ś"); gsub(/ź/, "\\ź"); gsub(/ż/, "\\ż"); print
Zobacz też Unicode UCS-4 UCS-2
Przypisy
Linki zewnętrzne Strona grupy standaryzującej
Kategoria:Unicode