Slik bruker du verktøyet
- Skriv eller lim inn tekst i inndatafeltet.
- Alle kodingene oppdateres mens du skriver: binær, oktal, desimal, hex, Base32-variantene, Base36 til og med Base91, uuencode og xxencode.
- Sammenlign utdataene for å se hvilken koding som gir kortest resultat, eller hvilken som bare bruker tegn du kan godta.
- Klikk på Kopier ved siden av resultatet du trenger.
Alle kodinger fra samme inndata
Hver koding på denne siden gjør de samme bytene om til et annet sett med tegn. Å se dem side om side er den raskeste måten å velge koding til et prosjekt på, kjenne igjen en streng du har funnet i en logg eller en konfigurasjonsfil, eller lære hvordan formatene skiller seg fra hverandre. Teksten din kodes som UTF-8-byte, så en bokstav med aksent teller som to byte og et kinesisk tegn som tre. Alt kjører i nettleseren din.
- Tall per byte. Binær, oktal og desimal skriver hver byte for seg. Resultatet er lett å lese, men langt.
- Bitgrupper. Hex, Base32 (med Base32hex, Crockford og z-base-32), Base64 og Base64URL gir hvert tegn et fast antall bit, så lengden på utdataene avhenger bare av lengden på inndataene.
- Store tall. Base36, Base58 og Base62 behandler hele inndataene som ett stort heltall. Lengden kan variere med ett tegn avhengig av verdien, og innledende nullbyte beholdes som innledende tegn.
- Blokker. Base45 gjør 2 byte om til 3 tegn, Ascii85, Z85 og Base85 gjør 4 byte om til 5, og Base91 pakker 13 eller 14 bit inn i hvert tegnpar.
- Linjer. uuencode og xxencode er eldre formater fra e-post og Usenet som skriver dataene i linjer, der hver linje begynner med et lengdetegn.
Sammenligning av utdatastørrelse
Hvor mange tegn hver koding trenger per byte med inndata, og hvor lang en verdi på 32 byte blir, for eksempel en SHA-256-hash eller en offentlig Ed25519-nøkkel:
| Koding | Tegn per byte | 32 byte blir |
|---|---|---|
| Base16 (hex) | 2,0 | 64 |
| Base32 | 1,6 | 56 (52 uten utfylling) |
| Base36 | omtrent 1,55 | 49 eller 50 |
| Base45 | 1,5 | 48 |
| Base58 | omtrent 1,37 | 43 eller 44 |
| Base62 | omtrent 1,34 | 42 eller 43 |
| Base64 | omtrent 1,33 | 44 (43 uten utfylling) |
| Base85 | 1,25 | 40 |
| Base91 | omtrent 1,23 | 39 eller 40 |
Går du fra hex til Base64, sparer du en tredjedel av lengden. Går du videre fra Base64 til Base91, sparer du bare omtrent 8 % til.
Hvilken koding bør du velge
Det korteste resultatet er ikke alltid det beste. Ascii85 kan inneholde anførselstegn og omvendte skråstreker, og Base91 kan inneholde doble anførselstegn, så begge kan kreve escaping i JSON, HTML eller skallkommandoer. Tenk på hvor strengen skal brukes:
- URL-er og filnavn: Base64URL, Base58 eller Base62.
- Høytlesing eller inntasting for hånd: Crockford Base32 eller Base58, som utelater tegn som ligner hverandre.
- Systemer som ikke skiller mellom store og små bokstaver: hex, Base32 eller Base36.
- QR-koder: Base45, som bare bruker tegnene i den alfanumeriske QR-modusen.
- Kompakt tekst i PDF, Git eller ZeroMQ: Ascii85, Base85 eller Z85.
- Størst mulig kompatibilitet: Base64, som nesten alle programmeringsspråk og plattformer støtter.
Ofte stilte spørsmål
Hvilken koding gir det korteste resultatet?
Av kodingene på denne siden er Base91 den mest kompakte med omtrent 1,23 tegn per byte, fulgt av Ascii85, Z85 og Base85 med 1,25. Base64 trenger omtrent 1,33, men støttes langt bredere, og derfor er den vanligvis standardvalget.
Hvorfor varierer lengden på Base58- og Base62-resultatene for inndata av samme størrelse?
De konverterer hele inndataene som ett stort tall, så lengden avhenger av verdien og ikke bare av størrelsen. Hver innledende nullbyte gir dessuten ett ekstra innledende tegn. Hex, Base32 og Base64 gir alltid samme lengde for samme antall byte.
Kan jeg dekode en streng på denne siden?
Hvorfor er det binære resultatet så langt?
Binær skriver 8 sifre for hver byte, pluss skilletegn, så resultatet blir minst fire ganger så langt som hex. Det er ment for å se på enkeltbit, ikke for å lagre eller sende data.
Blir teksten min sendt til en server?
Nei. Alle kodingene beregnes av JavaScript i nettleseren din, og teksten forlater aldri enheten din.