Zo gebruik je het
- Kies Coderen om tekst om te zetten naar hex, of Decoderen om hex terug te zetten naar tekst.
- Typ of plak de invoer, of open een bestand om de bytes ervan in hex te zien.
- Stel de opties in: Hoofdletters, een Scheidingsteken (Geen, Spatie of Dubbele punt) en een Voorvoegsel (Geen, 0x of \x).
- Kopieer het resultaat of download het als bestand.
Wat is hexadecimaal (Base16)?
Het hexadecimale stelsel gebruikt zestien symbolen: de cijfers 0 tot en met 9 en de letters A tot en met F. Eén hexcijfer bevat vier bits, dus elke byte wordt geschreven als precies twee cijfers, van 00 tot FF. De uitvoer is twee keer zo groot als de invoer, meer dan bij Base64 of Base32, maar de grenzen tussen de bytes blijven zichtbaar. Daarom tonen debuggers, hex-editors en netwerktools gegevens op deze manier.
RFC 4648 standaardiseert de codering als Base16, met een alfabet in hoofdletters en zonder opvulling. In de praktijk zijn kleine letters net zo gangbaar, en decoders, ook deze, accepteren beide.
Waar hex wordt gebruikt
- Hashes en sleutels. Een SHA-256-digest is 32 bytes, geschreven als 64 hexcijfers. Cryptografische sleutels, UUID's en controlesommen worden meestal ook in hex getoond.
- Hardwareadressen. MAC-adressen bestaan uit zes bytes in hex, normaal gescheiden door dubbele punten. Het scheidingsteken Dubbele punt levert precies dat formaat op.
- Escapereeksen. Strings in C, Python en JavaScript accepteren
\xgevolgd door twee hexcijfers voor één byte, en dat is precies wat het voorvoegsel\xschrijft. - Webformaten. CSS-kleuren zoals
#FF8800zijn drie bytes in hex, en procentcodering in URL's schrijft bytes als%plus twee hexcijfers.
Hex decoderen naar tekst
De decoder is niet kieskeurig over de notatie. Hij accepteert hoofdletters en kleine letters, negeert spaties, regeleinden, komma's, dubbele punten, puntkomma's en koppeltekens, en verwijdert de voorvoegsels 0x, \x, % en &#x. Uitvoer van xxd -p, MAC-adressen, UUID's, kommagescheiden 0x-lijsten, %XX-escapes en HTML-hexentiteiten kun je zo plakken. Elke byte heeft twee cijfers nodig, dus een oneven aantal cijfers wordt als fout gemeld. De bytes worden als tekst getoond in de gekozen tekencodering.
Om hex naar een andere codering om te zetten zonder de omweg via tekst, gebruik je Hex naar Base64 of Base64 naar hex.
Hex in code
# 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
Specificatie
| Alfabet | 0-9 A-F |
|---|---|
| Uitvoergrootte | 2 tekens per byte (200%) |
| Opvulling | Geen |
| Standaard | RFC 4648, sectie 8 |
| Hoofdlettergevoelig | Nee |
Voorbeelden
| Invoer (UTF-8) | Uitvoer |
|---|---|
Hello, World! | 48656c6c6f2c20576f726c6421 |
Base64.is | 4261736536342e6973 |
你好 | e4bda0e5a5bd |
Veelgestelde vragen
Hoe zet ik hex om naar tekst?
Schakel over naar Decoderen en plak de hex. Spaties, dubbele punten en de voorvoegsels 0x en \x worden automatisch verwijderd, en de bytes worden als UTF-8-tekst getoond, tenzij je een andere tekencodering kiest.
Moet hex in hoofdletters of kleine letters?
Beide stellen dezelfde bytes voor. RFC 4648 gebruikt hoofdletters, terwijl veel programmeertalen kleine letters tonen. Zet Hoofdletters aan als het doelsysteem hoofdletters verwacht; de decoder accepteert beide.