Utilia

Tekst u binarni, heksadecimalni i ASCII zapis

Pretvori tekst u binarni, heksadecimalni, decimalni ili oktalni zapis i natrag, s UTF-8 bajtovima ili Unicode kodnim točkama, razdjelnicima i tablicom znakova.

Znakovi
0
Kodne točke
0
UTF-8 bajtovi
0
Tablica znakova
ZnakKodna točkaDecimalnoUTF-8 (heksadecimalno)UTF-8 (binarno)

Kako koristiti pretvarač teksta u binarni kod

  1. Upiši ili zalijepi tekst u polje za unos, a zatim klikni Tekst → kodovi. Rezultat se pojavljuje ispod i osvježava dok upisuješ.
  2. Odaberi Format: Binarni (baza 2), Heksadecimalni (baza 16), Decimalni (baza 10) ili Oktalni (baza 8).
  3. Pod Kodovi predstavljaju zadrži UTF-8 bajtove (kompatibilno s ASCII-jem) za uobičajeni ispis „tekst u binarni kod“ ili odaberi Unicode kodne točke da dobiješ jedan broj po znaku.
  4. Odaberi Razdjelnik (Razmak, Bez razdjelnika, Zarez ili Novi redak) i označi Dodaj prefiks (0b, 0o, 0x) ako trebaš kodove zapisane onako kako ih očekuju programski jezici.
  5. Za suprotan smjer zalijepi kodove i klikni Kodovi → tekst. Alat pogađa format kad ga promijeniš, a možeš ga ispraviti u Format.

Kopiraj kopira rezultat, a Upotrijebi rezultat kao unos prebacuje rezultat u polje za unos i obrće smjer, što je brz način provjere povratne pretvorbe. Tablica znakova navodi svaki znak s njegovom kodnom točkom, decimalnom vrijednošću i UTF-8 bajtovima u heksadecimalnom i binarnom zapisu.

ASCII, Unicode i UTF-8

Računala pohranjuju tekst kao brojeve. ASCII, definiran 1960-ih, dodjeljuje broj od 0 do 127 engleskim slovima, znamenkama, interpunkciji i nekoliko kontrolnih znakova: „H“ je 72, što je 01001000 u binarnom i 48 u heksadecimalnom zapisu. ASCII nema mjesta za č, ć, đ, š, ž, € ni emotikone, pa se današnji tekst oslanja na Unicode, koji svakom znaku daje kodnu točku, zapisanu poput U+010D za č.

UTF-8 je način na koji gotovo svaka web-stranica i datoteka pohranjuje te kodne točke kao bajtove. Njegovo je ključno svojstvo kompatibilnost: 128 ASCII znakova zadržava jedan bajt, pa „Hello“ daje potpuno isti binarni zapis u ASCII-ju i u UTF-8. Ostali znakovi zauzimaju 2 do 4 bajta: č je C4 8D (dva bajta), € je E2 82 AC (tri), a 😀 je F0 9F 98 80 (četiri). Alat ti kaže koliko je znakova izvan ASCII-ja, a brojači prikazuju broj Znakova, Kodnih točaka i UTF-8 bajtova. Oni se mogu razlikovati: 👍🏽 je jedan vidljivi znak sastavljen od dvije kodne točke i osam bajtova.

Dekodiranje kodova natrag u tekst

Pri dekodiranju kodovi mogu biti odvojeni razmacima, zarezima, točkama sa zarezom ili prijelomima redaka. Prefiksi poput 0b, 0x, \x, U+ i HTML entiteti poput H ili H uklanjaju se automatski. Binarni i heksadecimalni bajtovi mogu se zalijepiti i bez razdjelnika: 0100100001101001 dijeli se na skupine od 8 bitova, a c3a9 na parove heksadecimalnih znamenki.

Alat provjerava svaki kôd i točno ti kaže koji je pogrešan: znamenku koja ne pripada odabranoj bazi, bajt veći od 255, skupinu koja se ne može ravnomjerno podijeliti ili kodnu točku iznad U+10FFFF. Ako su bajtovi valjani brojevi, ali ne čine valjan UTF-8 (na primjer C3 iza kojeg slijedi 28), tekst se ipak prikazuje sa znakom � umjesto oštećenog niza, a poruka objašnjava zašto.

Primjeri

  • „Hi“ u binarnom zapisu: 01001000 01101001
  • „Hi“ u heksadecimalnom zapisu: 48 69
  • „Hi“ u decimalnom zapisu: 72 105
  • „č“ kao UTF-8 bajtovi u heksadecimalnom zapisu: C4 8D; kao kodna točka: 10D

Česta pitanja

Koja je razlika između ASCII-ja i binarnog zapisa?

ASCII je tablica koja znakovima dodjeljuje brojeve. Binarni zapis samo je način pisanja tih brojeva pomoću 0 i 1. Pretvaranje teksta u binarni kod znači potražiti broj svakog znaka i zapisati ga u bazi 2.

Zašto č zauzima 16 bitova, a ne 8?

U UTF-8 samo 128 ASCII znakova stane u jedan bajt. Slova s dijakriticima trebaju dva bajta, pa č postaje 11000100 10001101. Uz Unicode kodne točke č je jedan broj, 100001101 (269).

Mogu li dekodirati binarni zapis bez razmaka?

Da, za bajtove u binarnom ili heksadecimalnom zapisu, sve dok je duljina višekratnik od 8 bitova ili 2 heksadecimalne znamenke. Decimalni kodovi trebaju razdjelnik, osim ako je svaki zapisan s točno 3 znamenke.

Koja opcija odgovara „tekst u hex“ u programiranju?

UTF-8 bajtovi u heksadecimalnom zapisu. Daju isti rezultat kao kodiranje niza u UTF-8 u Pythonu, JavaScriptu ili većini drugih jezika.

Šalje li se moj tekst na poslužitelj?

Ne. Pretvorba se u cijelosti odvija u tvom pregledniku; ništa se ne šalje mrežom.