Base64 versus hex-codering: welke moet u gebruiken?
Snel antwoord
Gebruik Base64 wanneer grootte telt (e-mailbijlagen, data URLs, API-payloads). Gebruik Hex wanneer leesbaarheid telt (debuggen, hash-weergave, kleurcodes, geheugenadressen). Base64 is compacter; Hex is beter menselijk inspecteerbaar.
Invoering
Base64 en Hex (hexadecimaal) zijn beide binaire-naar-tekst coderingsschema's. Base64 codeert 3 bytes in 4 ASCII-tekens (33% overhead). Hex codeert 1 byte in 2 ASCII-tekens (100% overhead). Beide worden gebruikt om binaire data in tekst-only contexten weer te geven, maar ze verschillen aanzienlijk in efficiëntie en leesbaarheid.
Stap voor stap
-
Vergelijk de coderingsefficiëntie
Base64: 3 bytes → 4 tekens = 33% overhead. Hex: 1 byte → 2 tekens = 100% overhead. Voor 1 KB aan gegevens produceert Base64 ~1,33 KB; Hex produceert 2 KB. Base64 is 50% kleiner dan Hex voor dezelfde binaire gegevens.
-
Vergelijk leesbaarheid
Hex gebruikt 16 tekens (0-9, A-F), die elk 4 bits vertegenwoordigen. U kunt bytewaarden eenvoudig lezen. Base64 gebruikt 64 tekens (A-Z, a-z, 0-9, +, /), die elk 6 bits vertegenwoordigen. Base64-uitvoer is moeilijker handmatig te inspecteren omdat bytes over tekengrenzen worden verdeeld.
-
Vergelijk gebruiksscenario's
Base64: e-mailbijlagen (MIME), gegevens URLs, JWT payloads, API binaire gegevensoverdracht. Hex: hash-digests (MD5, SHA-256), kleurcodes (#FF5733), geheugenadressen, MAC-adressen, binaire foutopsporing.
-
Vergelijk karakterset en veiligheid
Base64 gebruikt + en / die niet URL-veilig zijn. Hex gebruikt alleen 0-9 en A-F/a-f — altijd URL-veilig en bestandsnaam-veilig. Hex is veilig in elke context; Base64 heeft mogelijk een URL-veilige variant nodig.
-
Beslis op basis van uw gebruiksscenario
E-mail, gegevens URLs, JWT, API payloads: Base64 (grootte is belangrijk). Hashweergave, foutopsporing, kleurcodes, geheugenadressen: Hex (leesbaarheid is belangrijk).
Voorbeelden
Dezelfde gegevens in Base64 en Hex
Invoer: Input: 'Hello' (5 bytes)
Base64: SGVsbG8= (8 chars)
Hex: 48656c6c6f (10 chars)
Uitvoer: Base64 is 20% smaller. Hex is easier to inspect (each pair = 1 byte).
Veelvoorkomende problemen
- Base64 is niet URL-veilig: standaard Base64 gebruikt + en / die URLs en bestandsnamen opsplitsen — gebruik URL-veilig Base64 (- en _) voor webcontexten.
- Hex heeft een overhead van 100%: Hex verdubbelt de gegevensgrootte (1 byte → 2 tekens), wat verspillend is bij grote binaire overdrachten. Gebruik Base64 als de grootte ertoe doet.
- Base64 opvulling dubbelzinnigheid: Base64 appends = opvultekens die door sommige systemen worden verwijderd of afgewezen - ga op consistente wijze om met opvulling aan zowel de codeer- als decodeerkant.
- Hex-hoofdletterinconsistentie: sommige systemen gebruiken hoofdletters (A-F), andere kleine letters (a-f) - normaliseer hoofdletters vóór vergelijking om valse mismatches te voorkomen.
Tips
- Gebruik Base64 voor e-mailbijlagen, gegevens URLs en API payloads waarbij de grootte ertoe doet: het heeft slechts 33% overhead versus 100% van Hex.
- Gebruik Hex voor hash-samenvattingen, kleurcodes, MAC-adressen en foutopsporing waarbij de menselijke leesbaarheid van belang is: elke byte is een zichtbaar paar van twee tekens.
- Gebruik URL-safe Base64 (vervang + door -, / door _, strip =) bij het coderen van binaire gegevens in URLs, queryparameters of bestandsnamen.
- Wanneer u tussen Base64 en Hex converteert, moet u altijd eerst naar onbewerkt binair bestand decoderen en vervolgens opnieuw coderen. Probeer nooit teken voor teken te converteren.