Unicode

A Unicode (ejtsd: junikód) a különböző írásrendszerek egységes kódolását és használatát leíró nemzetközi számítástechnikai iparági szabvány. A Unicode nemcsak a karakterkódolással, hanem a karakterek osztályozásával, megjelenítésével és használatával is részletesen foglalkozik. A Unicode 15.0.0-s kiadása  karakter helyét és szerepét rögzíti, amellyel 161 különböző eredetű modern és történelmi ábécét, valamint számos szimbólumkészletet fed le.

A Unicode szabványt a Unicode Consortium gondozza. Legutóbbi kiadása a 2022 szeptemberében megjelent Unicode 15.0.0. A Unicode-ot az ISO/IEC 10646 szabvánnyal együtt fejlesztik, és mindkettő azonos kódkiosztású karakterkészlettel rendelkezik.

A Unicode meghatározó szerepet játszik a szoftverek nemzetközivé tételében és honosításában. A szabványt az új technológiák, köztük a modern operációs rendszerek, az XML és a legtöbb modern programozási nyelv támogatja.

Történet 

A régi, legfeljebb csak néhány tucat előre rögzített betűt tartalmazó karakterkódolásokat a hardverfeltételek és az igények változásával fokozatosan felváltotta a Unicode, ami már nem szab korlátot a különböző jelek együttes használatának.

Kódtábla 

A Unicode szabvány 16 biten tárolt (legfeljebb  karaktert tartalmazó) síkokra osztja a Unicode kódpontokat. A 17 síkon összesen  kódpont található, amelyből a szabvány legutóbbi változata mintegy 144 ezer kódpontot foglalt le a karakterek számára. Az első, ún. „alapszintű többnyelvű sík” (BMP – Basic Multilingual Plane) mintegy 64 ezer karakterhelyén a legtöbb ma használatos jelet meg lehet találni.

Kódolás 

A Unicode szövegeket különböző karakterkódolással tárolhatjuk. A Unicode szabvány meghatározza az UTF-8, UTF-16 és az UTF-32 karakterkódolást, és számos más kódolás is használatban van. A leggyakrabban használt kódolások az UTF-8, UTF-16 és UCS-2, utóbbi az UTF-16 elődje.

A weboldalak és dokumentumok legelterjedtebb Unicode karakterkódolása az UTF-8. Az UTF-8 változó hosszúságú kódolással (1–4  byte) képezi le a Unicode karaktertáblát. 1 byte-on tárolt kódjai az ASCII-nak felelnek meg, így a latin betűs UTF-8 kódolású szövegek a régi ASCII környezetben is olvashatóak maradnak. Az UTF-8-ban kódolt latin betűs szövegek ugyanakkora, vagy ékezetes betűk használata esetén csak kicsivel nagyobb helyet foglalnak el, mint a korábban elterjedt 8 bites karakterkészletek használatakor.

Az UCS-2 két byte-ot használ minden egyes karakterhez, de így csak az első  kódpont, az alapszintű többnyelvű sík érhető el vele, azaz az eddig definiált Unicode karakterek kevesebb, mint fele. Ezért az UCS-2 elavult, bár még mindig széles körben használják.

Az UTF-16 az UCS-2 kiterjesztése. Ugyanazt a 16 bites kódolást használja az alapszintű többnyelvű sík elérésére, és egy 4 byte-os kódolást a többi síkhoz. Ezért egy UCS-2 kódolású szöveg egyben UTF-16 kódolású Unicode szöveg is.

Az UTF-32 (más néven UCS-4) 4 byte-ot használ minden karakterhez. Az UCS-2-höz hasonlóan minden karakter ugyanakkora helyet foglal el, megkönnyítve ezzel a karakterek indexelését, de ellentétben az UCS-2-vel, az UTF-32 képes minden Unicode kódpontot kódolni. Mivel azonban az egyes karakterek négy byte-ot használnak, az UTF-32 jóval több helyet foglal el, mint a többi kódolás, és ezért csak ritkábban, meghatározott célra használják.

A Unicode használata

Operációs rendszerek 

A mai Linux, Mac OS X és Windows operációs rendszerek alapértelmezett Unicode támogatással rendelkeznek. A belső feldolgozás Unicode-alapú, a tárolás is legtöbbször, a megjelenítés pedig az operációs rendszer és alkalmazásainak képességétől, például a betűkészlet lefedettségétől függ.

Beviteli módszerek 

Mivel a billentyűkiosztásoknak nem lehet minden karakterhez egyszerű kombinációjuk, több operációs rendszer kínál alternatív beviteli lehetőségeket tetszőleges karakter elérésére.

Az ISO 14755 szabvány szabályozza a Unicode karakterek bevitelének módszereit. Az alap metódus szerint egy kezdőszekvencia után közvetlenül a hexadecimális kód megadása szükséges, majd ezt egy zárószekvencia követi. Ezenkívül specifikálták a képernyőről történő kiválasztást is, ahol a karakterek táblázatos formában szerepelnek a képernyőn, például egy karaktertábla programban.

Web 

A Unicode támogatása már a HTML 4-ben megjelent az UTF-8 karakterkódolással.
A ma használatos böngészőknek a magyar írásjelek (kezdő-záró „idézőjel”, gondolatjel) helyes megjelenítése sem okoz már gondot.

Érdekességek
2015. júniusa óta a magyar rovásírás is része a 10C80–10CFF tartományban.

Az öt leghosszabb karakter:

꧅: A jávai nyelv egyik betűje. Az egyik legmagasabb karakter is egyben.

⸻: Sima hosszú vonal.

𒈙: Egy ékírásos karakter.

𒐫: Szintén ékírás

﷽: Ez a karakter a biszmillah, amely a legszélesebb Unicode-karakter. Jelentése: „A Könyörületes és Irgalmas Isten nevében”.

Jegyzetek

Források

További információk 
 Unicode.ORG – A Unicode szabványosító testület és a különböző Unicode szabványok honlapja 
 DecodeUnicode – Unicode wiki, mintegy 100 ezer betűképpel

Kapcsolódó szócikkek 
 A Unicode-karakterek elhelyezkedése

Írás
Karakterkódolások