March 30, 2023

Unicode

1987-ben a XEROX cég egy új 16 bites kód fejlesztésébe kezdett. Az Unicode elnevezést az egyik fejlesztő javasolta, mivel: unique (egyedi), universal (univerzális) és uniform (egységes) karakterkódolást biztosít. A kifejlesztett kezdeti specifikációkat tartalmazó Unicode 1.0 kódrendszer a világ összes írott ABC-jének kódolását tartalmazza. A fejlesztés során követett alapelvek a következők voltak:

  • Teljesség: Az Unicode-t úgy tervezték, hogy a szövegek létrehozásához használt összes karaktert tartalmazza, ebbe még olyan “holt” nyelvek is beletartoznak mint pl. a szankszkrit vagy sosem létezett, csak a Star Trek sorozatból ismert klingon.
  • Egyszerűség és hatékonyság: Minden Unicode kód azonos, 16 bites hosszúságú és mindegyik egy tényleges létező karaktert reprezentál. Nincsenek sem vezérlő kódok sem vezérlő kódsorozatok. Ezek mind bonyolultabbá teszik a számítógépes szövegkezelést és feldolgozást.
  • Egyértelműség: Minden kód egyértelműen egy karaktert jelent. Ezért egy karakter hibás olvasásakor csak egy a hibás és nincs előre mutató következménye.
  • Pontosság: Minden kódolt karakter szabványos, a nyelvi szakértők által ismert és elfogadott.

Az Unicode tervezésénél is azért kompromisszumokat kellett kötni. Például a kompatibilitás érdekében az Unicode helyet foglal le néhány eredeti ASCII vezérlőkódnak, de ezt nem használja. Az első 8192 helyet a szabványos alfabetikus karakterek számára foglalták le, helyett hagyva a később szabványba bekerülő régi írások ABC-inek. A következő 4096 kód tartalmazza az írásjeleket, matematikai, műszaki és piktogram szimbólumokat. Az ezt követő 4096 karaktert foglalták le a kínai, japán és koreai ABC-nek és írásjeleknek. A kód legnagyobb részét mintegy 27000 karaktert az egységesített Han karakterek részére foglalták le. Az egységesített Han karakterkészletet a GB 13000 Kínai Nemzeti Szabvány definiálja. Végül az utolsó előtti 5632 hely a felhasználók által használható és definiálható, az utolsó 495 kód az Unicode alá konvertálást segítő karakterek tartománya.