UTF-8
From Wikipedia, the free encyclopedia
Remove ads
UTF-8 (Unicode Transformation Format 8) je način zapisa kodnih točaka u standardu Unicode pomoću nizova 8-bitnih bajtova.
Prednost kodiranja je u tome što je "unatrag" kompatibilan sa 7-bitnim ASCII standardom. Slova većine europskih i bliskoistočnih pisama se kodiraju s najviše 16 bita.
Standardi
Postoji nekoliko vrijedećih, vrlo malo različitih definicija u različitim dokumentima:
Shema kodiranja
Kodiranje ovisi o vrijednosti kodne točke. Kodne točke do iznosa 127 se zapisuju kao jedan 8-bitni bajt, te se stoga poklapaju s 7-bitnim ASCII kodiranjem. U ostalim slučajevima se vrijednost kodne točke zapisuje kao niz od dva ili više 8-bitnih bajtova. U takvom nizu od dva ili više bajtova, svaki bajt ima najznačajniji bit postavljen na 1. Prvi bajt u takvom nizu ima barem prva dva najznačajnija bita postavljene na 1, a svi ostali imaju drugi najznačajniji bit na 0 (dakle počinju kao 10...). Broj uzastopnih jedinica na značajnijem kraju prvog bajta označava ukupnu duljinu niza bajtova za prikaz jedne kodne točke.Uzimajući u obzir dozvoljena područja kodnih točki, to daje veliku redundantnost, a opet kompaktnost.
Sljedeća tablica prikazuje primjerom kodiranje za kodne točke u 21-bitnom prostoru, što je dovoljno za sadašnju verziju Unicode standarda. No koncept iza UTF-8 kodiranja je sposoban i za pohranu 32-bitnih vrijednosti, u kojem slučaju bi bilo potrebno do 6 bajtova.
Na primjer, znak alef (א), koji ima u standardu Unicode kod U+05D0, se zapisuje pomoću UTF-8 ovako:
- Upada u opseg U+0080 do U+07FF. Tablica pokazuje da se kodira pomoću 2 bajta, 110yyyyy 10zzzzzz.
- 0x05D0 je ekvivalentno binarnom 0000-0101-1101-0000, to podijelimo u tri dijela: 00000-10111-010000; prvi dio se ne kodira, drugi su yyyyy, a treći zzzzzz.
- Konačni rezultat su dva bajta, prikazani kao 0xD7 0x90. To je zapis alefa (א) u UTF-8.
Povezani članci
Remove ads
Vanjske poveznice
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads