Unikodas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Unikodas (angl. Unicode) – standartas, apibrėžiantis beveik visų kalbų abėcėlių bei papildomų simbolių kodavimą kompiuteriuose. Unikodas sukurtas siekiant pakeisti anksčiau naudotus įvairius ribotus simbolių kodavimus. Pirmoji standarto versija (1.0) sukurta 1995 metais, 2005 metais paskelbta jau 4.1 versija. Šiuo metu Unikodas yra dominuojantis standartas pritaikant kompiuterines programas daugeliui kalbų. Unikodas palaikymas numatytas moderniuose standartuose (kaip XML), programavimo kalbose bei operacinėse sistemose.

Unikode kiekviena pozicija atitinka tik vieną konkretų simbolį, tačiau kai kuriais atvejais vienam simboliui skiriama keletas pozicijų. Pirmosios 256 pozicijos yra identiškos ISO 8859-1 kodavimo simboliams, kad būtų paprastesnis keitimas iš egzistuojančių Vakarų Europos kalbų tekstų. Unikodo standarte numatyti ne tik raidės ir simboliai, bet ir pagalbiniai kodai nusakyti simbolio savybėms, teksto krypčiai bei kitoms reikmėms.

Unikode numatyti ir kombinaciniai simboliai, kai vienas vaizduojamas simbolis koduojamas dviem simboliais. Pavyzdžiui, kirčiuota a (á) užrašoma dviem Unikodo simboliais (U+0061 ir U+0301). Raidės su diakritiniais ženklais gali būti užrašomos vienu simboliu, tačiau jas taip pat galima rašyti kombinuojant lotynišką raidę ir diakritinio ženklo simbolį, išlaikant suderinamumą su senesnėm programom, nevaizduojančiom diakritinių ženklų.

Apimtis[taisyti | redaguoti kodą]

Unikodas apima beveik visas šiuo metu naudojamas rašto sistemas. Kai kurios jų:

Taip pat Unikode pridėti ir nemažai papildomų simbolių, istorinių bei išnykusių rašto sistemų (Egiptiečių bei Majų hieroglifai, Šumerų dantiraštis, Senovės graikų, Finikiečių abėcėlės, runos ir kt.).

Be to, naudojami ir matematiniai bei muzikiniai simboliai, numatytos vietos ateityje pridedamoms rašto sistemoms bei asmeniniam naudojimui.

Darbas su Unikodu[taisyti | redaguoti kodą]

Pats Unikodo standartas tik numato konkrečias pozicijas įvairiems simboliams, bet ne realų kodavimą fizinėje atmintyje. Yra sukurta keletas Unikodo įgyvendinimo mechanizmų, kurių vieni pritaikyti taupesniam saugojimui, kiti – suderinamumui su senomis koduotėmis ar sistemomis. Yra naudojamos kelios UTF (Unicode Transformation Format) ir UCS (Universal Character Set) koduotės:

  • UTF-7 – pasenusiu laikomas ir retai naudojamas 7 bitų kodavimas
  • UTF-8 – 8 bitų kintamo ilgio kodavimas
  • UCS-2 – 16 bitų fiksuoto ilgio kodavimas. Palaiko 65 535 simbolių iš daugiau nei 90 000 numatytų
  • UTF-16 – 16 bitų kintamo ilgio kodavimas
  • UCS-4 ir UTF-32 – identiški 32 bitų fiksuoto ilgio kodavimai
  • UTF-EBCDIC – nepopuliarus kodavimas, sukurtas EBCDIC sistemoms

UTF-32 ir UCS-4 kodavimai yra netaupūs, bet labai paprasti – jais galima užkoduoti bet kurį Unikodo simbolį kiekvienam skiriant 32 bitus. UTF-8 kodavime naudojama nuo 1 iki 4 baitų, šis kodavimas yra suderinamas su ASCII bei yra labai taupus, jei naudojama daugiausiai tik lotynų abėcėlės pagrindo rašto sistemos.

Kritika[taisyti | redaguoti kodą]

Unikodo kritikų (daugiausiai Japonijoje) požiūriu, standartas per daug supaprastina azijietiškas rašto sistemas, nepalaiko senesnių ar alternatyvių kandži simbolių. Taip pat yra teigiančių, kad Unikodas palaiko per mažai simbolių. Kritikuota ir nelogiška Thai simbolių eilės tvarka. Tačiau standarto versijoje 2.0 panaikinus 65 535 simbolių apribojimą, vien dabar jau numatyta iki 1114111 simbolių, pridėta papildomų azijietiškų rašto ženklų, todėl dalis kritikos jau nėra aktuali.