ISO 10646


ISO 10646 w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

Norma ISO/IEC 10646 opisuje uniwersalny zestaw znaków (UCSUniversal 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.[1]

Spis treści

Relacje do Unicode | edytuj kod

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.[2]

  • 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 | edytuj kod

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ż | edytuj kod

Przypisy | edytuj kod

  1. WG2 - Projects
  2. FAQ - Unicode and ISO 10646, unicode.org [dostęp 2017-11-23]  (ang.).

Linki zewnętrzne | edytuj kod

Na podstawie artykułu: "ISO 10646" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy