UTF-8

UTF-8 je Unicode shema za kodiranje spremenljive dolžine. Znaki z nižjo Unicode številko za predstavitev potrebujejo manj bitov, kot tisti z višjo Unicode številko. Predstavitev UTF-8 vsebuje 8, 16, 24 ali 32 bitov. Spomnimo se, da je 8 bitov en bajt, torej za predstavitev UTF-8 znaka potrebujemo 1, 2, 3 ali 4 bajte.

Na primer, znak H je v UTF-8 predstavljen takole:

01001000

Znak ǿ pa je v UTF-8 predstavljen takole:

11000111 10111111

In znak 犬 je v UTF-8 predstavljen takole:

11100111 10001010 10101100

Interaktivni pretvornik ti omogoča pretvarjanje Unicode znaka v njegovo UTF-8 predstavitev. Prikazana je tudi številka Unicode znaka.

Kako deluje UTF-8?

Kako torej UTF-8 pravzaprav deluje? Uporabi naslednji postopek in ročno pretvori Unicode znake v UTF-8 predstavitev (enako, kot pri interaktivni vaji).

  1. Poišči Unicode številko znaka.
  2. Pretvori Unicode številko v dvojiško številko in pri tem uporabi čim manj bitov. Znanje pretvarjanja desetiških v dvojiške številke lahko obnoviš v poglavju o predstavitvi informacij.
  3. Preštej število bitov dvojiške številke in glede na število, izberi ustrezni vzorec. V nalednjem koraku bo razloženo, kako ta vzorec uporabiš.
    7  ali manj bitov: 0xxxxxxx
    11 ali manj bitov: 110xxxxx 10xxxxxx
    16 ali manj bitov: 1110xxxx 10xxxxxx 10xxxxxx
    21 ali manj bitov: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  4. Zamenjaj x-e v vzorcu z biti dvojiške številke iz drugega koraka. Če je x-ov več kot bitov, zamenjaj preostale x-e na levi z ničlami.

Na primer, če želiš ugotoviti, kakšna je predstavitev znaka 貓 (mačka po kitajsko), moraš izvesti naslednje korake.

  1. Ugotoviš, da je Unicode številka znaka 貓 enaka 35987.
  2. Pretvoriš 35987 v dvojiško številko in dobiš 10001100 10010011.
  3. Prešteješ bite, ki jih je 16 in ugotoviš, da moraš uporabiti tretji vzorec 1110xxxx 10xxxxxx 10xxxxx.
  4. Zamenjaš x-e v vzorcu z biti dvojiškega števila in dobiš 11101000 10110010 10010011.

Torej je predstavitev znaka 貓 z uporabo sheme UTF-8 enaka 11101000 10110010 10010011.