Mode d’emploi
- Choisissez Encoder pour transformer du texte en Base36, ou Décoder pour retrouver le texte à partir du Base36.
- Saisissez ou collez vos données, ou ouvrez un petit fichier (jusqu’à environ 20 Ko).
- Activez Majuscules si vous avez besoin de lettres capitales dans la sortie.
- Copiez le résultat ou téléchargez-le sous forme de fichier.
Qu’est-ce que Base36 ?
Base36 écrit les données avec les dix chiffres et les 26 lettres de l’alphabet latin : 0-9 suivi de a-z. C’est le plus grand alphabet que l’on puisse former avec des chiffres et des lettres en ignorant la casse ; les chaînes Base36 résistent donc aux systèmes qui modifient ou ignorent la casse. Chaque caractère transporte environ 5,17 bits, si bien que la sortie fait à peu près 1,55 fois la taille de l’entrée, un peu moins que Base32.
Comme 36 n’est pas une puissance de deux, les octets ne peuvent pas simplement être découpés en groupes de bits. L’outil lit donc l’entrée entière comme un seul grand nombre non signé et le convertit en base 36, la même méthode que celle de Base58. Un nombre perdrait ses octets nuls de tête : chacun d’eux est donc écrit sous la forme d’un 0 initial et restauré au décodage. Ce calcul devient lent pour les grandes entrées ; l’outil accepte donc jusqu’à environ 20 Ko.
Où Base36 est utilisé
- Identifiants courts. Les raccourcisseurs d’URL, les numéros de commande et les codes de ticket affichent souvent un identifiant numérique de base de données en base 36. Reddit, par exemple, utilise la base 36 pour les identifiants de ses publications et de ses commentaires.
- Environnements insensibles à la casse. Les noms DNS et certains systèmes de fichiers ignorent la casse. C’est pourquoi IPFS utilise une forme Base36 de certains identifiants dans les adresses de passerelle par sous-domaine.
- Nombres dans le code. La base 36 est la base la plus élevée que la plupart des langages de programmation prennent en charge nativement pour convertir des entiers.
Si la casse est préservée et que vous voulez la chaîne alphanumérique la plus courte possible, Base62 est plus compact.
Nombres en Base36 dans le code
Cette page encode des octets. Pour convertir un entier, utilisez les fonctions intégrées de votre langage ou le convertisseur de bases numériques :
// JavaScript
(1000000).toString(36) // 'lfls'
parseInt('lfls', 36) // 1000000
123456789012345678901234567890n.toString(36) // BigInt pour les grandes valeurs
# Python
int('lfls', 36) # 1000000
# aucune fonction intégrée pour le sens inverse
parseInt perd en précision au-delà de Number.MAX_SAFE_INTEGER ; pour des valeurs plus grandes, accumulez vous-même les chiffres dans un BigInt.
Spécifications
| Alphabet | 0-9 a-z |
|---|---|
| Taille de sortie | Environ 155 % (conversion en grand entier) |
| Remplissage | Aucun |
| Norme | Aucune norme officielle |
| Sensible à la casse | Non |
Exemples
| Entrée (UTF-8) | Sortie |
|---|---|
Hello, World! | fg3h7vqw7een6jwwnzmp |
Base64.is | 76f8bz4veeatf7 |
你好 | 2h5exfqm65 |
Questions fréquentes
Base36 est-il sensible à la casse ?
Non. La sortie est en minuscules par défaut, et l’option Majuscules la passe en capitales. Le décodeur accepte les deux casses.
Pourquoi un autre outil donne-t-il un résultat Base36 différent ?
Base36 n’a pas de norme officielle. Certains outils encodent un nombre, d’autres des octets, et ils traitent différemment les octets nuls de tête. Cet outil encode les octets d’entrée comme un seul grand nombre et écrit chaque octet nul de tête sous la forme d’un 0.