Encodeur et décodeur Base36

Convertissez du texte, des octets hexadécimaux ou des fichiers en Base36, l’alphabet composé de dix chiffres et de 26 lettres, et décodez les chaînes Base36 en octets. La sortie en majuscules est facultative.

Fonctionne entièrement dans votre navigateur. Aucune donnée n’est envoyée.

Mode d’emploi

  1. Choisissez Encoder pour transformer du texte en Base36, ou Décoder pour retrouver le texte à partir du Base36.
  2. Saisissez ou collez vos données, ou ouvrez un petit fichier (jusqu’à environ 20 Ko).
  3. Activez Majuscules si vous avez besoin de lettres capitales dans la sortie.
  4. 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

Alphabet0-9 a-z
Taille de sortieEnviron 155 % (conversion en grand entier)
RemplissageAucun
NormeAucune norme officielle
Sensible à la casseNon

Exemples

Entrée (UTF-8)Sortie
Hello, World!fg3h7vqw7een6jwwnzmp
Base64.is76f8bz4veeatf7
你好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.

Y a-t-il une limite de taille ?
Oui, environ 20 Ko, car la conversion en grand nombre prend de plus en plus de temps à mesure que l’entrée grandit. Pour les fichiers et les grandes quantités de données, Base32 ou Base64 sont plus adaptés.
Comment convertir un nombre en Base36 ?
Utilisez le convertisseur de bases numériques, qui affiche une valeur décimale en Base36 et dans d’autres bases. Cette page traite l’entrée comme du texte ou des octets : saisir 100 encode les caractères 1, 0 et 0, et non le nombre cent.