Sådan bruger du værktøjet
- Vælg Kod for at gøre tekst til Base36, eller Afkod for at gøre Base36 til tekst igen.
- Skriv eller indsæt dit input, eller åbn en lille fil (op til ca. 20 KB).
- Slå Store bogstaver til, hvis du har brug for store bogstaver i outputtet.
- Kopiér resultatet, eller download det som en fil.
Hvad er Base36?
Base36 skriver data med de ti cifre og de 26 bogstaver i det latinske alfabet, 0-9 efterfulgt af a-z. Det er det største alfabet, du kan bygge af cifre og bogstaver, når der ses bort fra forskellen på store og små bogstaver, så Base36-strenge overlever systemer, der ændrer eller ignorerer den forskel. Hvert tegn bærer omkring 5,17 bit, hvilket gør outputtet cirka 1,55 gange så stort som inputtet, en smule kortere end Base32.
Fordi 36 ikke er en potens af to, kan bytene ikke bare skæres op i bitgrupper. I stedet læser værktøjet hele inputtet som ét stort tal uden fortegn og konverterer det til base 36, den samme metode som Base58 bruger. Et tal ville miste sine foranstillede nulbytes, så hver af dem skrives som et foranstillet 0 og gendannes ved afkodning. Denne aritmetik bliver langsom for store input, så værktøjet accepterer op til omkring 20 KB.
Hvor Base36 bruges
- Korte id'er. URL-forkortere, ordrenumre og sagsnumre viser ofte et numerisk database-id i base 36. Reddit bruger for eksempel base 36 til id'erne for opslag og kommentarer.
- Steder uden forskel på store og små bogstaver. DNS-navne og nogle filsystemer ignorerer forskellen på store og små bogstaver. Derfor bruger IPFS en Base36-form af visse identifikatorer i adresserne til sine subdomæne-gateways.
- Tal i kode. Base 36 er det højeste grundtal, som de fleste programmeringssprog understøtter direkte ved konvertering af heltal.
Hvis forskellen på store og små bogstaver bevares, og du vil have den kortest mulige alfanumeriske streng, er Base62 mere kompakt.
Base36-tal i kode
Denne side koder bytes. For at konvertere et heltal kan du bruge de indbyggede funktioner i dit sprog eller talsystemkonverteren:
// JavaScript
(1000000).toString(36) // 'lfls'
parseInt('lfls', 36) // 1000000
123456789012345678901234567890n.toString(36) // BigInt til store værdier
# Python
int('lfls', 36) # 1000000
# der er ingen indbygget funktion til den modsatte vej
parseInt mister præcision over Number.MAX_SAFE_INTEGER; for større værdier skal du selv samle cifrene i en BigInt.
Specifikation
| Alfabet | 0-9 a-z |
|---|---|
| Outputstørrelse | Ca. 155 % (konvertering som ét stort tal) |
| Udfyldning | Ingen |
| Standard | Ingen formel standard |
| Skelner mellem store og små bogstaver | Nej |
Eksempler
| Input (UTF-8) | Output |
|---|---|
Hello, World! | fg3h7vqw7een6jwwnzmp |
Base64.is | 76f8bz4veeatf7 |
你好 | 2h5exfqm65 |
Ofte stillede spørgsmål
Skelner Base36 mellem store og små bogstaver?
Nej. Outputtet er som standard med små bogstaver, og indstillingen Store bogstaver skifter til store. Dekoderen accepterer begge dele.
Hvorfor giver et andet værktøj et andet Base36-resultat?
Base36 har ingen formel standard. Nogle værktøjer koder et tal, andre koder bytes, og de behandler foranstillede nulbytes forskelligt. Dette værktøj koder inputbytene som ét stort tal og skriver hver foranstillet nulbyte som et 0.