Hex-koder og -dekoder (Base16)

Konvertér tekst, filer eller rå bytes til hexadecimal og tilbage. Vælg store eller små bogstaver, et skilletegn og et 0x- eller \x-præfiks; dekoderen rydder selv op i almindelige hexformater.

Kører udelukkende i din browser. Intet bliver uploadet.

Sådan bruger du værktøjet

  1. Vælg Kod for at gøre tekst til hex, eller Afkod for at gøre hex til tekst igen.
  2. Skriv eller indsæt inputtet, eller åbn en fil for at se dens bytes i hex.
  3. Indstil valgmulighederne: Store bogstaver, et skilletegn (Ingen, Mellemrum eller Kolon) og et præfiks (Ingen, 0x eller \x).
  4. Kopiér resultatet, eller download det som en fil.

Hvad er hexadecimal (Base16)?

Hexadecimal bruger seksten symboler: cifrene 0 til 9 og bogstaverne A til F. Ét hexciffer rummer fire bit, så hver byte skrives som præcis to cifre, fra 00 til FF. Outputtet er dobbelt så stort som inputtet, mere end med Base64 eller Base32, men grænserne mellem bytene forbliver synlige, og derfor viser debuggere, hex-editorer og netværksværktøjer data på denne måde.

RFC 4648 standardiserer kodningen som Base16 med et alfabet af store bogstaver og uden udfyldning. I praksis er små bogstaver lige så almindelige, og dekodere, også denne, accepterer begge dele.

Hvor hex bruges

  • Hashværdier og nøgler. Et SHA-256-digest er 32 bytes, skrevet som 64 hexcifre. Kryptografiske nøgler, UUID'er og kontrolsummer vises som regel også i hex.
  • Hardwareadresser. MAC-adresser er seks bytes i hex, normalt adskilt af koloner. Skilletegnet Kolon giver netop det format.
  • Escapesekvenser. Strenge i C, Python og JavaScript accepterer \x efterfulgt af to hexcifre for én byte, og det er præcis, hvad præfikset \x skriver.
  • Webformater. CSS-farver som #FF8800 er tre bytes i hex, og procentkodning i URL'er skriver bytes som % plus to hexcifre.

Afkodning af hex til tekst

Dekoderen er tolerant over for formatering. Den accepterer cifre med store og små bogstaver, ignorerer mellemrum, linjeskift, kommaer, koloner, semikoloner og bindestreger og fjerner præfikserne 0x, \x, % og &#x. Output fra xxd -p, MAC-adresser, UUID'er, kommaseparerede 0x-lister, %XX-escapes og HTML-hexentiteter kan indsættes, som de er. Hver byte kræver to cifre, så et ulige antal cifre rapporteres som en fejl. Bytene vises som tekst i den valgte tegnkodning.

For at konvertere hex til en anden kodning uden at gå via tekst kan du bruge 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

Specifikation

Alfabet0-9 A-F
Outputstørrelse2 tegn pr. byte (200 %)
UdfyldningIngen
StandardRFC 4648 afsnit 8
Skelner mellem store og små bogstaverNej

Eksempler

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

Ofte stillede spørgsmål

Hvordan konverterer jeg hex til tekst?

Skift til Afkod, og indsæt hex. Mellemrum, koloner og præfikserne 0x og \x fjernes automatisk, og bytene vises som UTF-8-tekst, medmindre du vælger en anden tegnkodning.

Skal hex skrives med store eller små bogstaver?

Begge dele repræsenterer de samme bytes. RFC 4648 bruger store bogstaver, mens mange programmeringssprog skriver små. Slå Store bogstaver til, hvis dit målsystem forventer store bogstaver; dekoderen accepterer begge dele.

Hvorfor er hex dobbelt så langt som originalen?
Hver byte bliver til to tegn, en forøgelse på 100 %. Base64 lægger kun omkring 33 % til. Hvis størrelsen betyder noget, så konvertér bytene med Hex til Base64.
Er det det samme som at konvertere et tal til hex?
Ikke helt. Dette værktøj koder en sekvens af bytes, for eksempel bytene i en tekst. For at konvertere et enkelt heltal, for eksempel 255 til FF, skal du bruge talsystemkonverteren.