Come si usa
- Scegli Codifica per trasformare il testo in Base62, oppure Decodifica per riportare Base62 in testo.
- Seleziona l’ordine dell’Alfabeto usato dal tuo sistema: 0-9 A-Z a-z (predefinito) oppure 0-9 a-z A-Z.
- Digita o incolla l’input, oppure apri un piccolo file (fino a circa 20 KB).
- Copia il risultato o scaricalo come file.
Che cos’è Base62?
Base62 usa le dieci cifre, le 26 lettere maiuscole e le 26 lettere minuscole. È l’alfabeto più ampio composto solo da lettere e cifre, quindi il risultato non richiede escape in URL, nomi di file, chiavi di database o identificatori nel codice. Ogni carattere trasporta circa 5,95 bit, per cui l’output è circa 1,34 volte più grande dell’input: compatto quasi quanto Base64, ma senza +, /, =, - o _.
Poiché 62 non è una potenza di due, questo strumento tratta l’intero input come un unico numero grande e lo converte in base 62, come fanno Base58 e Base36. Ogni byte zero iniziale viene scritto come uno 0 iniziale, così si conserva nel passaggio di andata e ritorno. L’input è limitato a circa 20 KB perché i calcoli rallentano con dati di grandi dimensioni.
Non esiste un unico standard Base62
A differenza di Base64, Base62 non ha una RFC, e le implementazioni differiscono in modi che rendono incompatibili i loro output:
- Ordine dell’alfabeto. Questo strumento offre
0-9A-Za-z(predefinito) e0-9a-zA-Z. Alcune altre librerie mettono le lettere prima delle cifre. - Zeri iniziali. Alcune implementazioni mantengono uno
0per ogni byte zero iniziale, come questo strumento, altre li eliminano, e i formati a lunghezza fissa riempiono il risultato fino a una larghezza prestabilita. - Che cosa viene codificato. Molte funzioni Base62 codificano un numero intero, come l’ID di un database, anziché una sequenza di byte. Altre suddividono i dati in blocchi di dimensione fissa.
Se una stringa proveniente da un altro sistema qui si decodifica in caratteri senza senso, prova l’altro alfabeto. Se continua a non funzionare, probabilmente quel sistema usa un metodo diverso.
Dove si usa Base62
Gli accorciatori di URL trasformano un ID auto-incrementale in un codice breve: sette caratteri Base62 coprono più di 3.500 miliardi di valori. Gli ID ordinabili come KSUID usano una forma Base62 fissa di 27 caratteri, e molti servizi usano Base62 per chiavi API e token, perché un doppio clic seleziona l’intera stringa e la si può incollare ovunque. Per convertire un singolo numero intero usa il convertitore di basi numeriche, oppure poche righe di codice:
// JavaScript: da intero (BigInt) a 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'
Specifiche
| Alfabeto | 0-9 A-Z a-z |
|---|---|
| Dimensione dell’output | Circa 134% (conversione come intero grande) |
| Padding | Nessuno |
| Standard | Nessuno standard formale |
| Distingue maiuscole/minuscole | Sì |
Esempi
| Input (UTF-8) | Output |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
Domande frequenti
Base62 è sicuro per gli URL?
Perché la mia stringa Base62 si decodifica nel testo sbagliato?
Le implementazioni di Base62 differiscono per ordine dell’alfabeto e metodo. Passa dall’alfabeto 0-9A-Za-z a 0-9a-zA-Z e viceversa. Se nessuno dei due funziona, probabilmente la stringa è stata generata da un numero intero o con un altro algoritmo.
Base62 distingue tra maiuscole e minuscole?
Sì. Le lettere maiuscole e minuscole rappresentano valori diversi, quindi una stringa Base62 non va mai convertita tutta in maiuscolo o in minuscolo.