Qu'est-ce que Short UUID ?
Short UUID est une technique pour compresser les UUIDs standard de 128 bits en chaînes plus courtes et adaptées aux URL. Cela implique généralement :
- Conversion de base : Convertir l'UUID de base-16 (hex) à une base plus élevée (généralement base-58 ou base-62)
- Sélection de l'ensemble de caractères : Utiliser des ensembles de caractères sûrs pour les URL sans caractères ambigus
- Compression sans perte : Préserver toutes les informations de l'UUID original
Exemple de transformation :
- UUID standard :
f47ac10b-58cc-4372-a567-0e02b2c3d479
- Short UUID (base-58) :
2kLrTdCQVWFjc7dYXzzB5A
Comment fonctionne Short UUID
- Supprimer les traits d'union de l'UUID standard
- Convertir la chaîne hexadécimale de 32 caractères résultante en nombre décimal
- Convertir le nombre décimal à une base plus élevée (58, 62, 64, etc.)
- Remplir le résultat si nécessaire pour assurer une longueur constante
Les alphabets d'encodage courants incluent :
- Base-58 : Alphanumérique sans caractères ambigus (0, O, I, l)
- Base-62 : Tous les caractères alphanumériques (a-z, A-Z, 0-9)
- Base-64 : Alphanumérique plus deux caractères spéciaux (souvent + et /)
Avantages et considérations
Avantages | Considérations |
---|---|
|
|
Comparaison de longueur
Format | Longueur | Ensemble de caractères | Exemple |
---|---|---|---|
UUID standard | 36 caractères | Hex + traits d'union | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
Hex (sans traits d'union) | 32 caractères | 0-9, a-f | f47ac10b58cc4372a5670e02b2c3d479 |
Base-58 | 22 caractères | Sans 0, O, I, l | 2kLrTdCQVWFjc7dYXzzB5A |
Base-62 | ~22 caractères | Alphanumérique | 3pqLYdcw9TGKxNVgeO0gOd |
Base-64 | ~22 caractères | Alphanumérique + symboles | 9HrBC1jMQ3KlZw4CssPUeQ== |
Alphabet Base-58 courant
L'alphabet Base-58 est conçu pour être visuellement non ambigu lorsqu'il est affiché dans des polices à largeur fixe et proportionnelle :
Ensemble de caractères | Contenu |
---|---|
Chiffres | 1-9 (excluant 0) |
Lettres majuscules | A-Z (excluant I, O) |
Lettres minuscules | a-z (excluant l) |
Caractères : 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Cas d'utilisation courants
- Raccourcissement d'URL : Paramètres d'URL plus compacts
- Identifiants publics : Identifiants d'utilisateur ou de contenu
- Optimisation de code QR : Moins de caractères = codes plus simples
- Applications mobiles : Moins de transmission de données
- Conception d'API : Identifiants de ressources plus propres et plus compacts
- Partage social : Liens plus conviviaux
Questions fréquemment posées
Les Short UUIDs sont-ils aussi uniques que les UUIDs standard ?
Oui. Les Short UUIDs ne sont qu'une représentation différente de la même valeur de 128 bits. La conversion est sans perte, préservant toutes les propriétés d'unicité des UUIDs standard.
Puis-je convertir entre les formats UUID standard et Short UUID ?
Oui. La conversion est bidirectionnelle - vous pouvez encoder un UUID standard en Short UUID et le décoder à nouveau exactement au même UUID standard.
Quel encodage de base est le plus recommandé ?
La Base-58 est souvent préférée car elle évite les caractères ambigus (0/O et l/I) tout en restant adaptée aux URL sans nécessiter d'encodage URL.
Combien plus courts sont les Short UUIDs ?
Les UUIDs standard font 36 caractères (avec traits d'union). Les Short UUIDs font généralement 22 caractères lorsqu'ils utilisent l'encodage base-58/62/64, une réduction d'environ 40%.
Dois-je stocker des Short UUIDs dans ma base de données ?
Il est généralement recommandé de stocker le format UUID standard dans les bases de données et de convertir en Short UUID uniquement lors de l'affichage aux utilisateurs ou dans les URL. Cela offre une meilleure compatibilité avec les types UUID des bases de données.