Unicode

Wygląd przypnij ukryj Logo Unikodu

Unicode (formalnie Unicode Standard, pol. Unikod) – komputerowy standard kodowania zestawu znaków obejmującego litery większości używanych na świecie pism, a także symboli, emoji i kodów formatowania. Standard Unicode rozwijany jest przez konsorcjum Unicode, składające się z firm wytwarzających sprzęt komputerowy, producentów oprogramowania oraz instytutów naukowych, agencji międzynarodowych i grup użytkowników. Konsorcjum współpracuje z organizacją ISO.

W odróżnieniu od standardów takich jak ISO 10646, oprócz kodowania znaków publikacje konsorcjum Unicode dostarczają również wiele szczegółów o systemach pisma i sposobie ich wyświetlania: reguły normalizacji, dekompozycji, kolacjonowania, renderowania i dwukierunkowej kolejności wyświetlania dla tekstów wielojęzycznych. Zawierają również referencyjne pliki danych i wykresy wizualne, które pomagają deweloperom poprawnie zaimplementować standard Unicode.

Architektura

Standard Unicode definiuje przestrzeń kodową (ang. codespace), która jest zbiorem wartości numerycznych (ang. code points) od 0 do 10FFFF w systemie szesnastkowym. Wszystkie znaki Unicode zostają przypisane do jednej z wartości numerycznych przestrzeni kodowej i nazwane według wzoru U+0000, gdzie 0000 jest wartością numeryczną znaku. Zapis wartości w tym systemie musi zawierać co najmniej cztery cyfry – gdy wartość numeryczna znaku jest mniejsza, na jej początek zostają przypisane zera. Przykładowo, znak dzielenia posiada wartość numeryczną F7 i jest zapisywany jako U+00F7, natomiast znak jednego z egipskich hieroglifów o wartości numerycznej 13254 zostaje zapisany bez żadnych modyfikacji jako U+13254.

Metody kodowania

Istnieje kilka metod zapisywania wartości numerycznych znaków Unicode jako ich bajtowe odpowiedniki w systemach komputerowych. Rozróżnia się między systemami mapowania UCS (Universal Character Set) i UTF (Unicode Transformation Format), które dzielą się na podgrupy zależne od ilości bajtów potrzebnej do zapisania jednego znaku.

Do najpowszechniejszych metod bajtowego kodowania znaków należą:

Mniej popularnymi kodowaniami Unicode są:

Istnieją również inne kodowania, stanowiące margines lub pozostające na etapie propozycji, na przykład:

Kompatybilność

Standard Unicode zsynchronizowany jest ze standardem ISO 10646, stosując te same wartości numeryczne dla poszczególnych znaków. Zapis binarny tekstu ASCII jest również kompatybilny z metodą zapisu znaków Unicode UTF-8.

Nazewnictwo

Według ogłoszonej w 2005 roku wypowiedzi Andrzeja Blikle, członka Rady Języka Polskiego na stanowisku przewodniczącego Zespołu Terminologii Informatycznej, sugeruje się używanie nazwy Unikod nie tylko jako określenie stworzonego przez konsorcjum Unicode standardu, ale również wszystkich pozostałych systemów unifikacji liter. Stosując taką definicję, Unikodem byłby również między innymi standard ISO 10646. Proponowana terminologia nie upowszechniła się jednak w sposób prawidłowy i słowo Unikod najczęściej służy jako spolszczenie słowa Unicode, a nie odrębne pojęcie w dziedzinie informatyki, prawdopodobnie przez podobieństwo obu nazw. Również sama strona internetowa konsorcjum Unicode używa Unikodu jako polskiego tłumaczenia Unicode, co w 2017 roku spotkało się z krytyką Janusza S. Bienia. Słowo Unikod nie znajduje się w Encyklopedii PWN, w przeciwieństwie do słowa Unicode. Ponieważ pierwotna wypowiedź Andrzeja Blikle stanowiła zaledwie zalecenie, dokładna definicja słowa Unikod pozostaje niejasna.

Powszechność

Standard Unicode jest dominującym systemem kodowania znaków, a UTF-8 jego najpowszechniejszą implementacją, używany wewnętrznie w systemach operacyjnych takich jak Unix, Windows czy macOS. W roku 2020 używało go około 98% stron internetowych.

Historia standardu

Relacje do UCS

Wstawianie znaków Unicode

Klawiatura komputerowa udostępnia tylko znaki ze strony kodowej właściwej dla ustawionego języka klawiatury. W przypadku polskiej klawiatury będzie to strona kodowa CP852 i Windows-1250 (kodowanie polskich znaków). Wszystkie znaki z tych stron można wprowadzić za pomocą alt-kodów. Do wprowadzania znaków niedostępnych przez alt-kody można użyć jednej z poniższych metod:

Istnieją też programy do tworzenia własnych układów klawiatur (np. Microsoft Keyboard Layout Creator), dzięki nim można podpiąć dowolny znak Unicode pod dowolną kombinację klawiszy (najczęściej wykorzystywana jest kombinacja AltGr+klawisz, gdzie AltGr to prawy klawisz Alt). Niektóre programy dla Windows pozwalają jedynie na wprowadzanie z klawiatury znaków istniejących w stronie kodowej właściwej dla języka klawiatury, np. w przypadku polskiego systemu Windows próba wpisania kombinacją AltGr+klawisz znaku nieistniejącego w stronie kodowej Windows-1250 nie da oczekiwanego efektu.

Zobacz też

Przypisy

  1. Unicode Standard , unicode.org  .
  2. Diana, Members , Unicode   (ang.).
  3. Technical Introduction , www.unicode.org  .
  4. Glossary , unicode.org  .
  5. Introduction to Unicode , mathias.gaunard.com  .
  6. Unicode Mail List Archive: Re: Origin of the U+nnnn notation , unicode.org  .
  7. FAQ – UTF-8, UTF-16, UTF-32 & BOM , unicode.org  .
  8. HTML UTF-8 Reference , www.w3schools.com   (ang.).
  9. Skład osobowy , web.archive.org, 13 sierpnia 2019  .
  10. a b Unicode, unikod , rjp.pan.pl  .
  11. Ogonki w Unikodzie , www.unikod.pl  .
  12. a b What is Unicode? in Polish , unicode.org  .
  13. Czym jest Unikod? , dawne.az.pl  .
  14. Re: Unicode vs. Unikod from Martin J. Dürst via Unicode on 2017-04-11 (Unicode Mail List Archive) , unicode.org  .
  15. Unicode, Encyklopedia PWN  .
  16. Usage Survey of Character Encodings broken down by Ranking , w3techs.com  .
  17. a b c d e f g h i j k l m n o p q r s t Daty publikacji poszczególnych wydań.
  18. wydanie wersji 5.1.0 standardu.
  19. Unicode 12.1.0 , unicode.org  .
  20. Unicode 13.0.0 , unicode.org  .
  21. Unicode 14.0.0 , unicode.org   (ang.).
  22. a b c How to Input Unicode , xahlee.info  .

Linki zewnętrzne

Kontrola autorytatywna (zestaw znaków):Encyklopedia internetowa: