Movatterモバイル変換


[0]ホーム

URL:


Prijeđi na sadržaj
WikipedijaSlobodna enciklopedija
Traži

UTF-8

Izvor: Wikipedija

UTF-8 (Unicode Transformation Format 8) je način zapisa kodnih točaka u standarduUnicode pomoću nizova 8-bitnihbajtova.

Prednost kodiranja je u tome što je "unatrag" kompatibilan sa 7-bitnimASCII standardom. Slova većine europskih i bliskoistočnih pisama se kodiraju s najviše 16 bita.

Standardi

[uredi |uredi kôd]

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

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

Shema kodiranja

[uredi |uredi kôd]

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-bitnihbajtova. 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.

Opseg kodne točke (hex.)Shema bitovaZapis u UTF-8 (bitovi)Napomene
000000–00007F
128 kodova
00000000 00000000 0zzzzzzz0zzzzzzzkompatibilno s ASCII, prvi (jedini) bajt počinje s 0
sedam zsedam z; vrijednosti 00–7F
000080–0007FF
1920 kodova
00000000 00000yyy yyzzzzzz110yyyyy 10zzzzzzprvi bajt počinje s 110, ostali s 10
tri y, dva y, šest zpet y, šest z; vrijednosti C2–DF i 80–BF
000800–00D7FF
00E000–00FFFF
61440 kodova
00000000 xxxxyyyy yyzzzzzz1110xxxx 10yyyyyy 10zzzzzzprvi 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 yyzzzzzz11110www 10xxxxxx 10yyyyyy 10zzzzzzprvi bajt počinje s 11110, ostala 3 s 10
tri w, dva x; četiri x, četiri y; dva y, šest ztri w; šest x; šest y; šest z; vrijednosti F0–F4 i 3x 80–BF

Na primjer, znakalef (א), 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,110yyyyy10zzzzzz.
  • 0x05D0 je ekvivalentno binarnom 0000-0101-1101-0000, to podijelimo u tri dijela: 00000-10111-010000; prvi dio se ne kodira, drugi suyyyyy, a trećizzzzzz.
  • Konačni rezultat su dva bajta, prikazani kao 0xD7 0x90. To je zapis alefa (א) u UTF-8.

Povezani članci

[uredi |uredi kôd]

Vanjske poveznice

[uredi |uredi kôd]
Dobavljeno iz "https://hr.wikipedia.org/w/index.php?title=UTF-8&oldid=6851556"
Kategorije:

[8]ページ先頭

©2009-2025 Movatter.jp