Utilia

Besedilo v dvojiški, šestnajstiški zapis in ASCII

Pretvori besedilo v dvojiške, šestnajstiške, desetiške ali osmiške kode in nazaj, z bajti UTF-8 ali kodnimi točkami Unicode, ločili po izbiri in tabelo znakov.

Znaki
0
Kodne točke
0
Bajti UTF-8
0
Tabela znakov
ZnakKodna točkaDesetiškoUTF-8 (šestnajstiško)UTF-8 (dvojiško)

Kako uporabljati pretvornik besedila v dvojiško

  1. Vnesi ali prilepi besedilo v vnosno polje, nato klikni Besedilo → kode. Rezultat se prikaže spodaj in se posodablja med tipkanjem.
  2. Izberi Zapis: Dvojiški (osnova 2), Šestnajstiški (osnova 16), Desetiški (osnova 10) ali Osmiški (osnova 8).
  3. Pod Kode predstavljajo pusti bajte UTF-8 (združljivo z ASCII) za običajni izpis »besedilo v dvojiško« ali izberi kodne točke Unicode, če želiš eno število na znak.
  4. Izberi Ločilo (Presledek, Brez, Vejica ali Nova vrstica) in označi Dodaj predpono (0b, 0o, 0x), če potrebuješ kode, zapisane tako, kot jih pričakujejo programski jeziki.
  5. Za pretvorbo v nasprotno smer prilepi kode in klikni Kode → besedilo. Orodje ob preklopu ugane zapis, ti pa ga lahko popraviš pri Zapis.

Kopiraj kopira rezultat, Rezultat uporabi kot vnos pa rezultat prestavi v vnosno polje in obrne smer, kar je hiter način za preverjanje pretvorbe tja in nazaj. Tabela znakov našteje vsak znak z njegovo kodno točko, desetiško vrednostjo in bajti UTF-8 v šestnajstiškem in dvojiškem zapisu.

ASCII, Unicode in UTF-8

Računalniki shranjujejo besedilo kot števila. ASCII, določen v šestdesetih letih prejšnjega stoletja, dodeli število od 0 do 127 angleškim črkam, številkam, ločilom in nekaj nadzornim znakom: »H« je 72, kar je dvojiško 01001000 in šestnajstiško 48. V ASCII ni prostora za č, š, ž, é, € ali emojije, zato današnje besedilo uporablja Unicode, ki vsakemu znaku dodeli kodno točko, zapisano na primer kot U+010D za č.

UTF-8 je način, na katerega skoraj vsaka spletna stran in datoteka shrani te kodne točke kot bajte. Njegova ključna lastnost je združljivost: 128 znakov ASCII obdrži en sam bajt, zato »Hello« da popolnoma enak dvojiški zapis v ASCII in v UTF-8. Drugi znaki zavzamejo od 2 do 4 bajte: č je C4 8D (dva bajta), € je E2 82 AC (trije) in 😀 je F0 9F 98 80 (štirje). Orodje pove, koliko znakov je zunaj ASCII, števci pa kažejo število Znakov, Kodnih točk in Bajtov UTF-8. Ti se lahko razlikujejo: 👍🏽 je en viden znak, sestavljen iz dveh kodnih točk in osmih bajtov.

Dekodiranje kod nazaj v besedilo

Pri dekodiranju so kode lahko ločene s presledki, vejicami, podpičji ali prelomi vrstic. Predpone, kot so 0b, 0x, \x, U+, in entitete HTML, kot sta H ali H, se odstranijo samodejno. Dvojiške in šestnajstiške bajte lahko prilepiš tudi brez ločil: 0100100001101001 se razdeli v skupine po 8 bitov, c3a9 pa v pare šestnajstiških števk.

Orodje preveri vsako kodo in ti natančno pove, katera je napačna: števka, ki ne spada v izbrano osnovo, bajt nad 255, skupina, ki je ni mogoče enakomerno razdeliti, ali kodna točka nad U+10FFFF. Če so bajti veljavna števila, a ne tvorijo veljavnega UTF-8 (na primer C3, ki mu sledi 28), se besedilo vseeno prikaže, z � namesto pokvarjenega zaporedja, sporočilo pa pojasni razlog.

Primeri

  • »Hi« dvojiško: 01001000 01101001
  • »Hi« šestnajstiško: 48 69
  • »Hi« desetiško: 72 105
  • »č« kot bajti UTF-8 šestnajstiško: C4 8D; kot kodna točka: 10D

Pogosta vprašanja

Kakšna je razlika med ASCII in dvojiškim zapisom?

ASCII je tabela, ki znakom dodeli števila. Dvojiški zapis je samo način zapisa teh števil z ničlami in enicami. Pretvorba besedila v dvojiško pomeni, da poiščeš število vsakega znaka in ga zapišeš v osnovi 2.

Zakaj č zavzame 16 bitov namesto 8?

V UTF-8 v en bajt gre samo 128 znakov ASCII. Naglašene črke in črke s strešico potrebujejo dva bajta, zato č postane 11000100 10001101. Pri kodnih točkah Unicode je č eno samo število 100001101 (269).

Ali lahko dekodiram dvojiške kode brez presledkov?

Da, za bajte v dvojiškem ali šestnajstiškem zapisu, če je dolžina večkratnik 8 bitov oziroma 2 šestnajstiških števk. Desetiške kode potrebujejo ločilo, razen če je vsaka zapisana z natanko 3 števkami.

Katera možnost ustreza »besedilo v šestnajstiško« v programiranju?

Bajti UTF-8 v šestnajstiškem zapisu. Dobiš enak rezultat kot pri kodiranju niza v UTF-8 v Pythonu, JavaScriptu ali večini drugih jezikov.

Ali se moje besedilo naloži na strežnik?

Ne. Pretvorba poteka v celoti v tvojem brskalniku; nič se ne pošlje po omrežju.