encode | decode | alphanumérique

> base36 | 0-9,A-Z | compact <

// Encodage Base36 - représentation alphanumérique compacte avec chiffres 0-9 et lettres A-Z

0 caractères
0 caractères
[ALPHANUMÉRIQUE]

Seulement alphanumérique

Utilise uniquement les lettres A-Z et les chiffres 0-9, compatible avec la plupart des systèmes et bases de données.

[COMPACT]

Représentation compacte

Plus compact que le décimal pour les grands nombres, tout en restant lisible et facile à partager.

[URL-SAFE]

Adapté au Web

Aucun caractère spécial : parfait pour les URLs, les identifiants publics et les codes produits.

>> informations techniques

Fonctionnement de Base36:

Base36 est un système de numération en base 36 qui utilise 36 symboles distincts (0-9 et A-Z). Chaque position représente une puissance de 36, ce qui permet de compresser de grands nombres en chaînes alphanumériques courtes et lisibles.

Exemples Base36:

Nombres vers Base36 :
123 → 3F
1000 → RS
999999 → LFLR

Texte vers Base36 (via les octets) :
Hi → 1Q5
ABC → 3O0AF

Utilisations courantes :
- Identifiants de vidéos
- URLs courtes
- Jetons de session
- Codes produits
- Clés de licence

Pourquoi utiliser Base36:

  • ▸Générer des identifiants courts et lisibles à partir de grands nombres
  • ▸Créer des jetons sûrs pour les URLs sans caractères spéciaux
  • ▸Compresser des valeurs numériques en chaînes alphanumériques compactes
  • ▸Encodage généralement insensible à la casse, robuste pour de nombreux systèmes
  • ▸Alternative plus conviviale que l'hexadécimal pour certains cas d'usage

>> questions fréquentes

Qu'est-ce que Base36 ?

Base36 est un système de numération positionnel qui utilise 36 symboles distincts : les chiffres 0-9 et les lettres A-Z. Il permet de représenter des nombres sous forme de chaînes alphanumériques compactes.

Dans quels cas Base36 est-il utilisé ?

Base36 est couramment utilisé pour générer des identifiants courts (liens raccourcis, IDs publics), des codes produits, des jetons de session ou toute valeur qui doit être à la fois compacte et lisible.

Base36 est-il sensible à la casse ?

Dans la plupart des implémentations, Base36 est insensible à la casse : A-Z et a-z sont traités de la même façon. Cela évite les erreurs lorsque la casse est modifiée par un système ou un utilisateur.

Comment Base36 se compare-t-il aux autres encodages ?

Base36 est plus compact que le décimal (base10), mais moins que l'hexadécimal (base16) ou Base64. Il offre un bon compromis entre compacité et lisibilité en n'utilisant que des caractères alphanumériques.

// Aide-mémoire

DECHEXBase36Base62
0000
3523zz
362410A
100642s1c
10003e8rsG8
12345678975bcd1521i3v98M0kX
4294967295ffffffff1z141z34gfFC3

// Exemples de code

JavaScript  (123).toString(36)   // "3f"      parseInt("3f", 36)  // 123
Python      int("3f", 36)  // 123       (no built-in int -> base36; write a loop)
Java        Integer.toString(123, 36)   Long.parseLong("3f", 36)
PHP         base_convert("123", 10, 36)
Go          strconv.FormatInt(123, 36)   strconv.ParseInt("3f", 36, 64)

>> Autres questions

Q : Comment écrire du Base36 en JavaScript, Python ou Java ?

R : JavaScript, Java, PHP et Go l’intègrent : (123).toString(36) donne "3f" et parseInt("3f", 36) redonne 123. En Python, int(s, 36) décode ; pour encoder, écrivez une petite boucle.

Q : Quel est le plus grand entier encodable en Base36 ?

R : Il n’y a pas de maximum théorique : Base36 n’est qu’une notation positionnelle. En pratique, c’est le type entier qui limite : en JavaScript, Number.MAX_SAFE_INTEGER (2⁵³−1) donne 2gosa7pa2gv ; au-delà, utilisez BigInt.

Q : Pourquoi les ID YouTube et les URL courtes ressemblent-ils à du Base36/Base62 ?

R : Les ID courts s’obtiennent en convertissant un grand entier (ID de base de données ou hash) dans une base plus élevée. Base36 ignore la casse ; Base62 est encore plus court mais distingue majuscules et minuscules.

Autres langues

COPIÉ !