Mode d’emploi
- Choisissez Encoder pour transformer du texte en Base62, ou Décoder pour reconvertir du Base62 en texte.
- Sélectionnez l’ordre d’alphabet qu’utilise votre système : 0-9 A-Z a-z (par défaut) ou 0-9 a-z A-Z.
- Saisissez ou collez votre entrée, ou ouvrez un petit fichier (jusqu’à environ 20 Ko).
- Copiez le résultat ou téléchargez-le sous forme de fichier.
Qu’est-ce que Base62 ?
Base62 utilise les dix chiffres, les 26 lettres majuscules et les 26 lettres minuscules. C’est le plus grand alphabet composé uniquement de lettres et de chiffres : le résultat ne nécessite donc aucun échappement dans les URL, les noms de fichiers, les clés de base de données ou les identifiants dans le code. Chaque caractère porte environ 5,95 bits, si bien que la sortie fait environ 1,34 fois la taille de l’entrée : presque aussi compact que Base64, mais sans +, /, =, - ni _.
Comme 62 n’est pas une puissance de deux, cet outil traite l’entrée entière comme un seul grand nombre et la convertit en base 62, à la manière de Base58 et Base36. Chaque octet nul de tête est écrit sous la forme d’un 0 initial afin d’être conservé lors de l’aller-retour. L’entrée est limitée à environ 20 Ko, car les calculs ralentissent sur de grandes quantités de données.
Il n’existe pas de norme Base62 unique
Contrairement à Base64, Base62 n’a pas de RFC, et les implémentations diffèrent sur des points qui rendent leurs sorties incompatibles :
- Ordre de l’alphabet. Cet outil propose
0-9A-Za-z(par défaut) et0-9a-zA-Z. D’autres bibliothèques placent les lettres avant les chiffres. - Zéros de tête. Certaines implémentations conservent un
0par octet nul de tête, comme cet outil, d’autres les suppriment, et les formats à longueur fixe complètent le résultat jusqu’à une largeur donnée. - Ce qui est encodé. Beaucoup de fonctions Base62 encodent un entier, comme un identifiant de base de données, plutôt qu’une suite d’octets. D’autres découpent les données en blocs de taille fixe.
Si une chaîne provenant d’un autre système donne ici un résultat incohérent, essayez l’autre option d’alphabet. Si cela échoue encore, ce système utilise probablement une autre méthode.
Où Base62 est utilisé
Les raccourcisseurs d’URL transforment un identifiant auto-incrémenté en code court : sept caractères Base62 couvrent plus de 3 500 milliards de valeurs. Les identifiants triables comme KSUID utilisent une forme Base62 fixe de 27 caractères, et de nombreux services emploient Base62 pour les clés d’API et les jetons, car un double-clic sélectionne toute la chaîne et celle-ci peut être collée n’importe où. Pour convertir un seul entier, utilisez le convertisseur de bases numériques, ou quelques lignes de code :
// JavaScript : entier (BigInt) vers 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'
Spécifications
| Alphabet | 0-9 A-Z a-z |
|---|---|
| Taille de sortie | Environ 134 % (conversion en grand entier) |
| Remplissage | Aucun |
| Norme | Aucune norme officielle |
| Sensible à la casse | Oui |
Exemples
| Entrée (UTF-8) | Sortie |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
Questions fréquentes
Base62 est-il compatible avec les URL ?
Pourquoi ma chaîne Base62 se décode-t-elle en un texte erroné ?
Les implémentations de Base62 diffèrent par l’ordre de l’alphabet et par la méthode. Passez de l’alphabet 0-9A-Za-z à 0-9a-zA-Z, ou inversement. Si aucun ne fonctionne, la chaîne a probablement été produite à partir d’un entier ou avec un autre algorithme.
Base62 est-il sensible à la casse ?
Oui. Les majuscules et les minuscules représentent des valeurs différentes : une chaîne Base62 ne doit jamais être convertie en majuscules ou en minuscules.