Hex-koder og -dekoder (Base16)

Konverter tekst, filer eller rå byte til heksadesimalt og tilbake. Velg store eller små bokstaver, skilletegn og et 0x- eller \x-prefiks. Dekoderen rydder opp i vanlige hex-formater for deg.

Kjører helt i nettleseren din. Ingenting lastes opp.

Slik bruker du verktøyet

  1. Velg Kode for å gjøre tekst om til hex, eller Dekode for å gjøre hex om til tekst igjen.
  2. Skriv eller lim inn inndataene, eller åpne en fil for å se bytene i den som hex.
  3. Velg innstillinger: Store bokstaver, Skilletegn (Ingen, Mellomrom eller Kolon) og Prefiks (Ingen, 0x eller \x).
  4. Kopier resultatet eller last det ned som en fil.

Hva er heksadesimalt (Base16)?

Det heksadesimale tallsystemet bruker seksten symboler, sifrene 0 til 9 og bokstavene A til F. Ett hex-siffer rommer fire bit, så hver byte skrives som nøyaktig to sifre, fra 00 til FF. Utdataene blir dobbelt så store som inndataene, mer enn med Base64 eller Base32, men grensene mellom bytene forblir synlige. Derfor viser feilsøkere, hex-redigeringsprogrammer og nettverksverktøy data på denne måten.

RFC 4648 standardiserer kodingen som Base16, med et alfabet av store bokstaver og uten utfylling. I praksis er små bokstaver like vanlige, og dekodere, også denne, godtar begge deler.

Hvor hex brukes

  • Hasher og nøkler. En SHA-256-hash er 32 byte og skrives som 64 hex-sifre. Kryptografiske nøkler, UUID-er og kontrollsummer vises vanligvis også i hex.
  • Maskinvareadresser. MAC-adresser er seks byte i hex, normalt atskilt med kolon. Kolon som skilletegn gir akkurat dette formatet.
  • Escape-sekvenser. Strenger i C, Python og JavaScript godtar \x etterfulgt av to hex-sifre for én enkelt byte, og det er nøyaktig det prefiksvalget \x skriver.
  • Webformater. CSS-farger som #FF8800 er tre byte i hex, og prosentkoding i URL-er skriver byte som % pluss to hex-sifre.

Dekode hex til tekst

Dekoderen er tolerant når det gjelder formatering. Den godtar sifre med store og små bokstaver, ignorerer mellomrom, linjeskift, komma, kolon, semikolon og bindestreker, og fjerner prefiksene 0x, \x, % og &#x. Utdata fra xxd -p, MAC-adresser, UUID-er, kommaseparerte 0x-lister, %XX-escapes og heksadesimale HTML-entiteter kan limes inn som de er. Hver byte trenger to sifre, så et oddetall sifre rapporteres som en feil. Bytene vises som tekst i den valgte tegnkodingen.

For å gjøre hex om til en annen koding uten å gå via tekst bruker du Hex til Base64 eller Base64 til hex.

Hex i kode

# Python
'Hi'.encode().hex()                 # '4869'
bytes.fromhex('4869').decode()      # 'Hi'

// Node.js
Buffer.from('Hi').toString('hex')             // '4869'
Buffer.from('4869', 'hex').toString('utf8')   // 'Hi'

# Shell
printf 'Hi' | xxd -p                # 4869

Spesifikasjon

Alfabet0-9 A-F
Utdatastørrelse2 tegn per byte (200 %)
UtfyllingIngen
StandardRFC 4648, avsnitt 8
Skiller store og små bokstaverNei

Eksempler

Inndata (UTF-8)Utdata
Hello, World!48656c6c6f2c20576f726c6421
Base64.is4261736536342e6973
你好e4bda0e5a5bd

Ofte stilte spørsmål

Hvordan konverterer jeg hex til tekst?

Bytt til Dekode og lim inn hex-verdien. Mellomrom, kolon og prefiksene 0x eller \x fjernes automatisk, og bytene vises som UTF-8-tekst med mindre du velger en annen tegnkoding.

Skal hex skrives med store eller små bokstaver?

Begge deler representerer de samme bytene. RFC 4648 bruker store bokstaver, mens mange programmeringsspråk skriver ut små. Slå på Store bokstaver hvis målsystemet forventer det. Dekoderen godtar begge deler.

Hvorfor er hex dobbelt så lang som originalen?
Hver byte blir to tegn, en økning på 100 %. Base64 legger bare til omtrent 33 %. Hvis størrelsen betyr noe, konverterer du bytene med Hex til Base64.
Er dette det samme som å konvertere et tall til hex?
Ikke helt. Dette verktøyet koder en rekke byte, for eksempel bytene i en tekst. For å konvertere ett enkelt heltall, for eksempel 255 til FF, bruker du tallsystemkonverteren.