Sådan bruger du værktøjet
- Vælg Kod for at omdanne tekst til Base62, eller Afkod for at omdanne Base62 tilbage til tekst.
- Vælg under Alfabet den rækkefølge, der passer til dit system: 0-9 A-Z a-z (standard) eller 0-9 a-z A-Z.
- Skriv eller indsæt dit input, eller åbn en lille fil (op til ca. 20 KB).
- Kopiér resultatet, eller download det som en fil.
Hvad er Base62?
Base62 bruger de ti cifre, de 26 store bogstaver og de 26 små bogstaver. Det er det største alfabet, der kun består af bogstaver og cifre, så resultatet kræver ingen escaping i URL'er, filnavne, databasenøgler eller id'er i kode. Hvert tegn bærer ca. 5,95 bit, hvilket gør outputtet ca. 1,34 gange så stort som inputtet, næsten lige så kompakt som Base64, men uden +, /, =, - eller _.
Da 62 ikke er en potens af to, behandler dette værktøj hele inputtet som ét stort tal og konverterer det til base 62, ligesom Base58 og Base36. Hver foranstillet nulbyte skrives som et foranstillet 0, så den overlever turen frem og tilbage. Inputtet er begrænset til ca. 20 KB, fordi beregningerne bliver langsomme ved store datamængder.
Der findes ingen fælles Base62-standard
I modsætning til Base64 har Base62 ingen RFC, og implementeringerne adskiller sig på måder, der gør deres output inkompatibelt:
- Alfabetets rækkefølge. Dette værktøj tilbyder
0-9A-Za-z(standard) og0-9a-zA-Z. Nogle andre biblioteker sætter bogstaverne før cifrene. - Foranstillede nuller. Nogle implementeringer beholder ét
0pr. foranstillet nulbyte, som dette værktøj gør, andre udelader dem, og formater med fast længde udfylder resultatet til en bestemt bredde. - Hvad der kodes. Mange Base62-funktioner koder et heltal, for eksempel et database-id, i stedet for en sekvens af bytes. Andre deler dataene op i blokke af fast størrelse.
Hvis en streng fra et andet system bliver til volapyk her, så prøv den anden mulighed under Alfabet. Hvis det stadig ikke virker, bruger systemet sandsynligvis en anden metode.
Her bruges Base62
URL-forkortere omdanner et fortløbende id til en kort kode: Syv Base62-tegn dækker mere end 3,5 billioner værdier. Sorterbare id'er som KSUID bruger en fast Base62-form på 27 tegn, og mange tjenester bruger Base62 til API-nøgler og tokens, fordi et dobbeltklik markerer hele strengen, og den kan indsættes overalt. Brug talsystemkonverteren til at konvertere et enkelt heltal, eller skriv nogle få linjer kode:
// JavaScript: heltal (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'
Specifikation
| Alfabet | 0-9 A-Z a-z |
|---|---|
| Outputstørrelse | Ca. 134 % (konvertering som ét stort tal) |
| Udfyldning | Ingen |
| Standard | Ingen formel standard |
| Skelner mellem store og små bogstaver | Ja |
Eksempler
| Input (UTF-8) | Output |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
Ofte stillede spørgsmål
Er Base62 URL-sikker?
Hvorfor bliver min Base62-streng afkodet til forkert tekst?
Base62-implementeringer adskiller sig i alfabetets rækkefølge og i metode. Skift mellem alfabeterne 0-9A-Za-z og 0-9a-zA-Z. Hvis ingen af dem virker, er strengen sandsynligvis lavet ud fra et heltal eller med en anden algoritme.
Skelner Base62 mellem store og små bogstaver?
Ja. Store og små bogstaver står for forskellige værdier, så en Base62-streng må aldrig konverteres til store eller små bogstaver.