¿Qué es Short UUID?
Short UUID es una técnica para comprimir UUIDs estándar de 128 bits en cadenas más cortas y amigables para URLs. Normalmente implica:
- Conversión de base: Convertir el UUID de base-16 (hexadecimal) a una base más alta (normalmente base-58 o base-62)
- Selección de conjunto de caracteres: Utilizar conjuntos de caracteres seguros para URL sin caracteres ambiguos
- Compresión sin pérdida: Preservar toda la información del UUID original
Ejemplo de transformación:
- UUID estándar:
f47ac10b-58cc-4372-a567-0e02b2c3d479
- Short UUID (base-58):
2kLrTdCQVWFjc7dYXzzB5A
Cómo funciona Short UUID
- Eliminar los guiones del UUID estándar
- Convertir la cadena hexadecimal de 32 caracteres resultante a un número decimal
- Convertir el número decimal a una base más alta (58, 62, 64, etc.)
- Rellenar el resultado si es necesario para asegurar una longitud consistente
Los alfabetos de codificación comunes incluyen:
- Base-58: Alfanumérico sin caracteres ambiguos (0, O, I, l)
- Base-62: Todos los caracteres alfanuméricos (a-z, A-Z, 0-9)
- Base-64: Alfanumérico más dos caracteres especiales (a menudo + y /)
Ventajas y consideraciones
Ventajas | Consideraciones |
---|---|
|
|
Comparación de longitud
Formato | Longitud | Conjunto de caracteres | Ejemplo |
---|---|---|---|
UUID estándar | 36 caracteres | Hex + guiones | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
Hex (sin guiones) | 32 caracteres | 0-9, a-f | f47ac10b58cc4372a5670e02b2c3d479 |
Base-58 | 22 caracteres | Sin 0, O, I, l | 2kLrTdCQVWFjc7dYXzzB5A |
Base-62 | ~22 caracteres | Alfanumérico | 3pqLYdcw9TGKxNVgeO0gOd |
Base-64 | ~22 caracteres | Alfanumérico + símbolos | 9HrBC1jMQ3KlZw4CssPUeQ== |
Alfabeto Base-58 común
El alfabeto Base-58 está diseñado para ser visualmente inequívoco cuando se muestra en fuentes tanto de ancho fijo como proporcional:
Conjunto de caracteres | Contenido |
---|---|
Números | 1-9 (excluyendo 0) |
Letras mayúsculas | A-Z (excluyendo I, O) |
Letras minúsculas | a-z (excluyendo l) |
Caracteres: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Casos de uso comunes
- Acortamiento de URL: Parámetros de URL más compactos
- Identificadores públicos: Identificadores de usuario o contenido
- Optimización de códigos QR: Menos caracteres = códigos más simples
- Aplicaciones móviles: Menos transmisión de datos
- Diseño de API: Identificadores de recursos más limpios y compactos
- Compartir en redes sociales: Enlaces más amigables
Preguntas frecuentes
¿Son los Short UUIDs tan únicos como los UUIDs estándar?
Sí. Los Short UUIDs son solo una representación diferente del mismo valor de 128 bits. La conversión es sin pérdida, preservando todas las propiedades de unicidad de los UUIDs estándar.
¿Puedo convertir entre los formatos UUID estándar y Short UUID?
Sí. La conversión es bidireccional - puedes codificar un UUID estándar a Short UUID y decodificarlo de nuevo al mismo UUID estándar exactamente.
¿Qué codificación de base es más recomendada?
Base-58 suele ser preferida porque evita caracteres ambiguos (0/O y l/I) mientras se mantiene segura para URL sin requerir codificación URL.
¿Cuánto más cortos son los Short UUIDs?
Los UUIDs estándar tienen 36 caracteres (con guiones). Los Short UUIDs típicamente tienen 22 caracteres cuando utilizan codificación base-58/62/64, una reducción de aproximadamente 40%.
¿Debería almacenar Short UUIDs en mi base de datos?
Generalmente se recomienda almacenar el formato UUID estándar en bases de datos y convertir a Short UUID solo cuando se muestran a los usuarios o en URLs. Esto proporciona mejor compatibilidad con los tipos UUID de las bases de datos.