Unicode

Unicode jest uniwersalnym standardem kodowania znaków, dzięki któremu można wyświetlać znaki charakterystyczne dla różnych języków. Obejmuje języki Ameryki, Europy, Środkowego wschodu, Afryki, Indii, Azji i języki pacyficzne (ponadregionalne), ale również inne symbole historyczne czy techniczne. Unicode zamienia, konwertuje i wyświetla wielojęzyczne teksty, symbole techniczne i matematyczne a dzięki temu rozwiązuje wiele międzynarodowych problemów językowych w systemach obliczeniowych związanych ze standardami charakterystycznymi dla konkretnych narodów. Jednak nie wszystkie nowoczesne lub archaiczne języki są obecnie wspierane.

Zestaw znaków Unicode może być używany praktycznie we wszystkich znanych typach kodowania. Unicode jest modelowany podobnie jak w zestawach znaków ASCII (Amerykański standardowy kod wymiany informacji). Używa opisu literowego i liczbowej wartości dla każdego kodowanego znaku. 16 bitowa wartość jest definiowana jako liczba w systemie szesnastkowym wraz z przedrostkiem U na przykład , U+0041 przedstawia A, a unikalna nazw dla tej wartości to LATIN CAPITAL LETTER A.

Nie jest wspierany w wersjach JavaScript wcześniejszych niż 1.3.

Unicode zgodny z ASCII i ISO

Unicode jest zgodny z kodami ASCII i jest wspierany przez wiele programów. Pierwsze 128 znaków Unicode odpowiadają kodom ASCII i mają tę samą wartość bajtu. W Unicode, przykładowo, znaki U+0020 i U+007E są równoważne w ASCII znakom 0x20 i 0x7E . Nieco inaczej jest w ASCII, który wspiera łaciński alfabet i używa siedmiobitowego zestawu znaków. Unicode używa szesnastobitowych wartości dla każdego znaku i uwzględnia dziesięć tysięcy znaków. Rozszerzony mechanizm UTF 16, uwzględnia kodowanie miliona znaków więcej, przez używanie 16 bitowych par.

Unicode jest w pełni zgodny z międzynarodowym standardowym ISO/IEC 10646 1; 1993 , który jest podzbiorem ISO 10646 i wspiera ISO Ucs 2, który używa dwu oktetów (dwóch bajtów albo 16 bitów).

JavaScript i Nawigator wspiera Unicode dzięki czemu można używać w JavaScript-ie niełacińskich, międzynarodowych i lokalnych znaków, oraz specjalistycznych symboli technicznych oraz pozwala kodować wielojęzyczny tekst. Odkąd Unicode jest zgodny z ASCII, programy mogą używać znaków ASCII. W komentarzach używać możemy znaków Unicode nie ASCII, literałów string, identyfikatorów i wcześniejszych wyrażeń, i wyrażeń regularnych JavaScript-u.

Sekwencje ucieczki do Unicode

Możesz użyć sekwencje ucieczki do Unicode w literałach łańcuchowych, wyrażeniach regularnych i identyfikatorach. Sekwencja ucieczki sześciu znaków ASCII: \u i czterocyfrowa liczba heksadecymalna. Na przykład, \u00A9 reprezentuje symbol copyright. Każda sekwencja ucieczki Unicode w JavaScript-ie jest interpretowana jako jeden znak.

Następujący kod zawiera symbol copyright i napis "Netscape Communications".

x="\u00A9 Netscape Communications"

Następująca tabela jest listą często używanych specjalnych znaków i ich wartości Unicode.

Kategoria Wartość Unicode Nazwa Nazwa formatowania
Białe spacje \u0009 Tab <TAB>
  \u000B Pionowy tabulator <VT>
  \u000C Z kanału <FF>
  \u0020 Spacja <SP>
Linia kończąca wartość \u000A Line Feed <LF>
  \u000D Powrót karetki <CR>
Dodatkowe znaki ucieczki Unicode \u0008 Backspace <BS>
  \u0009 Poziomy tabulator <HT>
  \u0022 Podwójny cudzysłów "
  \u0027 Pojedynczy cudzysłów '
  \u005C Backslash \

Tabela: Wartości Unicode dla specjalnych czcionek

JavaScript używa sekwencje znaku ucieczki Unicode i jest ona inna niż w Javie. W JavaScript-ie, sekwencja ucieczki nigdy nie interpretuje jako pierwsza znaków specjalnych. Przykładowo, znak końca linii sekwencji ucieczki nie zakańcza ciągu zanim nie jest on zinterpretowany przez funkcje. JavaScript ignoruje każdą sekwencje ucieczki, jeśli jest ona użyta w komentarzu. W Javie, jeśli sekwencja ucieczki używana jest w pojedynczej linii komentarza interpretowana jest wtedy jako znak Unicode. W ciągu literałów kompilator Javy interpretuje wpierw sekwencje ucieczki. Przykładowo, w przypadku użycia w Javie znaku końca linii (\u000A), zakańcza on literał ciągu. W Javie doprowadza to do wystąpienia błędu, ponieważ znaki końca linii nie są dozwolone w literałach ciągów. Musisz użyć \n do zakończenia linii w literałach. W JavaScript-ie sekwencja ucieczki działa tak samo jak \n.

Program do konwersji długich ciągów znaków Hot-Tips' Unicode Converter, autorstwa Bob Foley.

Wyświetlanie czcionek z Unicode

Można używać Unicode do wyświetlania znaków w rożnych językach lub technicznych symboli. Dla poprawnego wyświetlania klient tj. Netscape Navigator 4.x lub Netscape 6 musi wspomagać Unicode. Dodatkowo odpowiednia czcionka Unicode musi być dostępna dla klienta, jak i platforma klienta musi wspomagać Unicode. Często zdarza się, że czcionki Unicode nie wyświetlają wszystkich znaków. Niektóre platformy tj. Windows 95 posiadają tylko częściowe wsparcie Unicode.

W celu pobrania znaku typu non-ASCII klient musi go wysłać w kodzie Unicode. Używając standardowej rozszerzonej klawiatury klient nie może łatwo wyświetlić dodatkowych znaków wspieranych przez Unicode. Czasami jedynym sposobem na wyświetlenie znaków w kodzie Unicode jest użycie sekwencji ucieczki Unicode.

Więcej informacji o Unicode, zobacz Unicode Consortium Web site i The Unicode Standard, Version 2.0, wydane przez Addison-Wesley, 1996.

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, Re set, Mgjbot, Bedi, Internauta1024A, Ptak82, Leoniq
 Ostatnia aktualizacja: teoli,