UTF-8

Izvor: Wikipedija

Skoči na: orijentacija, traži

UTF-8 (Unicode Transformation Format 8) je način zapisa kodnih točaka u standardu Unicode pomoću nizova 8-bitnih vrijednosti (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 2 bajta.

Sadržaj

[uredi] Standardi

Postoji nekoliko vrijedećih, vrlo malo različitih definicija u različitim dokumentima:

  • RFC 3629 / STD 63 (2003), gdje se opisuje UTF-8 kao dio protokola na Internetu
  • The Unicode Standard, Version 4.0, §3.9–§3.10 (2003)
  • ISO/IEC 10646-1:2000 Annex D (2000)

[uredi] Shema kodiranja

Kodiranje ovisi o vrijednosti kodne točke. Sve kodne točke koje se poklapaju s 7-bitnim ASCII imaju upravo ASCII kodiranje. U svim nizovima gdje više bajtova predstavlja jednu kodnu točku, svaki bajt ima najviši bit postavljen na 1. Prvi bajt u nizu od više njih uvijek počinje s 11, a svi ostali počinju s 10. Uzimajući u obzir dozvoljena područja kodnih točki, to daje veliku redudantnost, a opet kompaktnost.

Opseg kodne točke (hex.) Shema bitova Zapis u UTF-8 (bitovi) Napomene
000000–00007F
128 kodova
00000000 00000000 0zzzzzzz 0zzzzzzz kompat. s ASCII
sedam z sedam z; vrijednosti 00–7F
000080–0007FF
1920 kodova
00000000 00000yyy yyzzzzzz 110yyyyy 10zzzzzz prvi bajt počinje s 110, ostali s 10.
tri y, dva y, šest z pet y, šest z; vrijednosti C2–DF i 80–BF
000800–00D7FF
00E000–00FFFF
61440 kodova
00000000 xxxxyyyy yyzzzzzz 1110xxxx 10yyyyyy 10zzzzzz prvi bajt počinje s 1110, ostala 2 s 10.
četiri x, četiri y; dva y, šest z četiri x, šest y, šest z; vrijednosti E0–EF i2x 80–BF
010000–10FFFF
1048576 kodova
000wwwxx xxxxyyyy yyzzzzzz 11110www 10xxxxxx 10yyyyyy 10zzzzzz prvi bajt počinje s 11110, ostala 3 s 10
tri w, dva x; četiri x, četiri y; dva y, šest z tri w; šest x; šest y; šest z; vrijednosti F0–F4 i 3x 80–BF

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.

[uredi] Vidi još

[uredi] U Wikipediji

[uredi] Vanjske poveznice

Osobni alati
Napravi zbirku