Alle coderingen tegelijk

Typ of plak één keer tekst en bekijk die naast elkaar als binair, hex, de Base32-familie, Base58, Base64, de Base85-familie, Base91 en meer, elk met een eigen knop Kopiëren.

Werkt volledig in je browser. Er wordt niets geüpload.

Zo gebruik je het

  1. Typ of plak tekst in het invoerveld.
  2. Elke codering wordt bijgewerkt terwijl je typt: binair, octaal, decimaal, hex, de Base32-varianten, Base36 tot en met Base91, uuencode en xxencode.
  3. Vergelijk de uitvoer om te zien welke codering het kortst is of alleen tekens gebruikt die voor jou bruikbaar zijn.
  4. Klik op Kopiëren naast het resultaat dat je nodig hebt.

Elke codering vanuit één invoer

Elke codering op deze pagina zet dezelfde bytes om in een andere reeks tekens. Ze naast elkaar zien is de snelste manier om een codering voor een project te kiezen, een string uit een logbestand of configuratiebestand te herkennen, of te leren hoe de formaten van elkaar verschillen. Je tekst wordt als UTF-8-bytes gecodeerd, dus een letter met een accent telt als twee bytes en een Chinees teken als drie. Alles draait in je browser.

  • Getallen per byte. Binair, octaal en decimaal schrijven elke byte afzonderlijk. Makkelijk te lezen, maar lang.
  • Bitgroepen. Hex, Base32 (met Base32hex, Crockford en z-base-32), Base64 en Base64URL geven elk teken een vast aantal bits, zodat de uitvoerlengte alleen van de invoerlengte afhangt.
  • Grote getallen. Base36, Base58 en Base62 behandelen de hele invoer als één groot geheel getal. Afhankelijk van de waarde kan de lengte één teken verschillen, en voorloopnulbytes blijven behouden als voorlooptekens.
  • Blokken. Base45 maakt van 2 bytes 3 tekens, Ascii85, Z85 en Base85 maken van 4 bytes 5 tekens, en Base91 stopt 13 of 14 bits in elk paar tekens.
  • Regels. uuencode en xxencode zijn oudere formaten voor e-mail en Usenet die gegevens in regels schrijven, die elk met een lengteteken beginnen.

Uitvoergrootte vergeleken

Hoeveel tekens elke codering per invoerbyte nodig heeft, en hoe lang een waarde van 32 bytes, zoals een SHA-256-hash of een publieke Ed25519-sleutel, daardoor wordt:

CoderingTekens per byte32 bytes worden
Base16 (hex)2,064
Base321,656 (52 zonder opvulling)
Base36ongeveer 1,5549 of 50
Base451,548
Base58ongeveer 1,3743 of 44
Base62ongeveer 1,3442 of 43
Base64ongeveer 1,3344 (43 zonder opvulling)
Base851,2540
Base91ongeveer 1,2339 of 40

Overstappen van hex naar Base64 bespaart een derde van de lengte. Nog een stap verder gaan, van Base64 naar Base91, levert maar ongeveer 8% extra op.

Welke codering kies je?

De kortste uitvoer is niet altijd de beste. Ascii85 kan aanhalingstekens en backslashes bevatten en Base91 dubbele aanhalingstekens, dus bij allebei kan escaping nodig zijn in JSON, HTML of shellopdrachten. Bedenk waar de string terecht moet komen:

  • URL's en bestandsnamen: Base64URL, Base58 of Base62.
  • Voorlezen of met de hand typen: Crockford Base32 of Base58, die tekens weglaten die op elkaar lijken.
  • Systemen die geen onderscheid maken tussen hoofdletters en kleine letters: hex, Base32 of Base36.
  • QR-codes: Base45, dat alleen de tekens van de alfanumerieke QR-modus gebruikt.
  • Compacte tekst in PDF, Git of ZeroMQ: Ascii85, Base85 of Z85.
  • Maximale compatibiliteit: Base64, dat door bijna elke programmeertaal en elk platform wordt ondersteund.

Veelgestelde vragen

Welke codering geeft de kortste uitvoer?

Van de coderingen op deze pagina is Base91 het compactst, met ongeveer 1,23 tekens per byte, gevolgd door Ascii85, Z85 en Base85 met 1,25. Base64 heeft ongeveer 1,33 tekens nodig, maar wordt veel breder ondersteund en is daarom meestal de standaardkeuze.

Waarom verschilt de lengte van Base58- en Base62-resultaten bij invoer van dezelfde grootte?

Ze zetten de hele invoer om als één groot getal, dus de lengte hangt af van de waarde en niet alleen van de grootte. Elke voorloopnulbyte voegt bovendien één voorloopteken toe. Hex, Base32 en Base64 geven bij hetzelfde aantal bytes altijd dezelfde lengte.

Kan ik op deze pagina een string decoderen?
Deze pagina codeert alleen. Wil je weten wat een onbekende string is, plak hem dan in de coderingsdetector. Om een string van de ene codering naar de andere om te zetten, gebruik je de coderingsconverter.
Waarom is de binaire uitvoer zo lang?

Binair schrijft 8 cijfers voor elke byte, plus scheidingstekens, en is dus minstens vier keer zo lang als hex. Het is bedoeld om afzonderlijke bits te bekijken, niet om gegevens op te slaan of te verzenden.

Wordt mijn tekst naar een server gestuurd?

Nee. Alle coderingen worden door JavaScript in je browser berekend, en de tekst verlaat je apparaat nooit.