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 149 186 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.[1]

A Unicode Consortium logója

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 szerkesztés

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 szerkesztés

A Unicode szabvány 16 biten tárolt (legfeljebb 65 536 karaktert tartalmazó) síkokra osztja a Unicode kódpontokat. A 17 síkon összesen 1 114 112 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 szerkeszté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[2] 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ő 65 536 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 szerkesztés

Operációs rendszerek szerkesztés

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 szerkesztés

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 szerkesztés

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 szerkesztés

2015. júniusa óta a magyar rovásírás is része a 10C80–10CFF tartományban.[3]

Az öt leghosszabb karakter:

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

⸻: Sima hosszú vonal.

𒈙: Egy ékírásos karakter.[5]

𒐫: 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”.[6]

Jegyzetek szerkesztés

  1. https://unicode.org/versions/Unicode15.0.0/
  2. Az eredeti tervek szerint a maximális byte-szám 6, amelyet a végleges szabványban végül 4-re csökkentettek.
  3. Új szkriptek a Unicode 8.0-ban. (Hozzáférés: 2021. március 3.)
  4. r/Unicode - Widest/longest unicode characters list (amerikai angol nyelven). reddit. (Hozzáférés: 2020. szeptember 27.)
  5. 𒈙 - Unicode codepoint lookup/search tool. unicode.scarfboy.com. (Hozzáférés: 2020. szeptember 27.)
  6. Beszmeleh jelentése a Magyarországi Muszlimok Egyházának Iszlám lexikonja szerint

Források szerkesztés

További információk szerkesztés

  • Unicode.ORG – A Unicode szabványosító testület és a különböző Unicode szabványok honlapja (angolul)
  • DecodeUnicode – Unicode wiki, mintegy 100 ezer betűképpel (németül) (angolul)

Kapcsolódó szócikkek szerkesztés