KITA NAUDINGA INFORMACIJA

Kas yra Unicode?

Unicode yra bendras pasaulio rašto simbolių standartas. Jis kiekvienai raidei, ženklui ar emoji suteikia unikalų numerį, kad tekstą vienodai suprastų skirtingos programos ir įrenginiai.

Kodėl prireikė Unicode?

Anksčiau skirtingos sistemos naudojo nesuderinamas simbolių lenteles. Tas pats skaičius viename kompiuteryje galėjo reikšti vieną raidę, kitame – visai kitą. ASCII gerai tiko anglų kalbai, tačiau jame nebuvo lietuviškų raidžių, daugelio pasaulio raštų ar emoji.

Unicode sukūrė vieną bendrą simbolių sąrašą. Dėl jo viename tekste galime rašyti Labas, Ąžuolas, こんにちは ir 🙂.

Kodo taškas

Unicode simboliui priskirtas numeris vadinamas kodo tašku. Jis paprastai rašomas šešioliktainiu formatu su U+ pradžia.

Keli Unicode kodo taškai
SimbolisKodo taškas
AU+0041
ĄU+0104
€U+20AC
🙂U+1F642
Svarbus skirtumas

Unicode pasako, kuris numeris priklauso simboliui. UTF koduotė pasako, kaip tą numerį išsaugoti baitais.

Unicode Java programoje

String tekstas = "Ąžuolas 🌳";
int codePoint = tekstas.codePointAt(0);

System.out.println(tekstas);
System.out.printf("U+%04X%n", codePoint);
Konsolės rezultatas

Ąžuolas 🌳
U+0104

Pirmoje eilutėje Java išsaugo lietuvišką tekstą ir emoji. Metodas codePointAt(0) paima pirmojo simbolio – Ą – kodo tašką, o printf parodo jį įprastu Unicode formatu.

Trys dažnos Unicode koduotės

  • UTF-8 – naudoja 1–4 baitus ir yra įprastas pasirinkimas žiniatinklyje.
  • UTF-16 – naudoja vieną arba dvi 16 bitų kodo vienetų poras; su juo glaudžiai susijęs Java String.
  • UTF-32 – kiekvieną kodo tašką saugo 4 baitais; paprasta, bet užima daugiau vietos.

Tos pačios Unicode raidės reikšmė nesikeičia – skiriasi tik jos pavertimas baitais.