Slik bruker du verktøyet
- Velg Kode for å gjøre tekst om til Base62, eller Dekode for å gjøre Base62 om til tekst igjen.
- Velg den alfabetrekkefølgen som passer systemet ditt: 0-9 A-Z a-z (standard) eller 0-9 a-z A-Z.
- Skriv eller lim inn inndataene, eller åpne en liten fil (opptil omtrent 20 KB).
- Kopier resultatet eller last det ned som en fil.
Hva er Base62?
Base62 bruker de ti sifrene, de 26 store bokstavene og de 26 små bokstavene. Det er det største alfabetet som bare består av bokstaver og sifre, så resultatet trenger ingen escaping i URL-er, filnavn, databasenøkler eller identifikatorer i kode. Hvert tegn bærer omtrent 5,95 bit, noe som gjør utdataene omtrent 1,34 ganger så store som inndataene. Det er nesten like kompakt som Base64, men uten +, /, =, - eller _.
Fordi 62 ikke er en potens av to, behandler dette verktøyet hele inndataene som ett stort tall og konverterer det til grunntall 62, slik som Base58 og Base36. Hver innledende nullbyte skrives som en innledende 0, slik at den overlever konverteringen fram og tilbake. Inndataene er begrenset til omtrent 20 KB fordi aritmetikken går tregere for store datamengder.
Det finnes ingen felles Base62-standard
I motsetning til Base64 har Base62 ingen RFC, og implementasjonene varierer på måter som gjør utdataene deres inkompatible:
- Alfabetrekkefølge. Dette verktøyet tilbyr
0-9A-Za-z(standard) og0-9a-zA-Z. Noen andre biblioteker setter bokstavene foran sifrene. - Innledende nuller. Noen implementasjoner beholder én
0per innledende nullbyte, slik dette verktøyet gjør, andre fjerner dem, og formater med fast lengde fyller ut resultatet til en bestemt bredde. - Hva som kodes. Mange Base62-funksjoner koder et heltall, for eksempel en database-ID, i stedet for en sekvens av byte. Andre deler dataene opp i blokker med fast størrelse.
Hvis en streng fra et annet system dekodes til rot her, kan du prøve det andre alfabetvalget. Hvis det fortsatt ikke fungerer, bruker det systemet sannsynligvis en annen metode.
Hvor Base62 brukes
URL-forkortere gjør en automatisk økende ID om til en kort kode: Sju Base62-tegn dekker over 3 500 milliarder verdier. Sorterbare ID-er som KSUID bruker en fast Base62-form på 27 tegn, og mange tjenester bruker Base62 til API-nøkler og tokener fordi et dobbeltklikk merker hele strengen og den kan limes inn hvor som helst. For å konvertere ett enkelt heltall kan du bruke tallsystemkonverteren eller noen få linjer kode:
// JavaScript: heltall (BigInt) til Base62
const A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function toBase62(n) {
let s = '';
do { s = A[Number(n % 62n)] + s; n /= 62n; } while (n > 0n);
return s;
}
toBase62(123456789n); // '8M0kX'
Spesifikasjon
| Alfabet | 0-9 A-Z a-z |
|---|---|
| Utdatastørrelse | Omtrent 134 % (konvertering som stort heltall) |
| Utfylling | Ingen |
| Standard | Ingen formell standard |
| Skiller store og små bokstaver | Ja |
Eksempler
| Inndata (UTF-8) | Utdata |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
Ofte stilte spørsmål
Er Base62 URL-sikker?
Hvorfor dekodes Base62-strengen min til feil tekst?
Base62-implementasjoner varierer i alfabetrekkefølge og metode. Bytt mellom alfabetene 0-9A-Za-z og 0-9a-zA-Z. Hvis ingen av dem fungerer, ble strengen sannsynligvis laget fra et heltall eller med en annen algoritme.
Skiller Base62 mellom store og små bokstaver?
Ja. Store og små bokstaver står for ulike verdier, så en Base62-streng må aldri gjøres om til bare store eller bare små bokstaver.