Base64 estándar (RFC 4648)
Es la variante original: alfabeto A–Z, a–z, 0–9 más «+» y «/», con «=» como relleno. Es la que usan los adjuntos de correo MIME, la mayoría de APIs públicas y la herramienta de CubTools por defecto en todos los casos.
Su único problema es que «+», «/» y «=» tienen significado especial en URLs: un «+» en un parámetro puede interpretarse como espacio y arruinar la decodificación. Por eso nacieron las variantes seguras para URL.
Base64URL: la variante para direcciones web
Base64URL sustituye «+» por «-» y «/» por «_», y suele omitir el relleno «=» final porque en URLs cada carácter cuenta y el relleno se puede reconstruir a partir de la longitud total de la cadena. Es la variante de los tokens JWT, de muchos parámetros en URLs y de identificadores que deben sobrevivir intactos en nombres de archivo.
Convertir entre estándar y URL-safe es trivial: cambia esos dos caracteres y añade o quita el relleno según corresponda en cada dirección. Pero hazlo de forma consciente: un decodificador estándar rechazará una cadena URL-safe y viceversa. Si un token JWT no decodifica en una herramienta estándar, este suele ser el motivo exacto.
MIME y otras variantes
El Base64 de los correos (MIME) inserta un salto de línea cada 76 caracteres por tradición histórica de los terminales antiguos. La mayoría de decodificadores modernos los ignoran sin problema, pero si procesas correos crudos a mano, elimínalos primero para evitar sorpresas desagradables.
Existen variantes más exóticas (ficheros htpasswd, codificaciones propias de algunos lenguajes), pero en la práctica el 99 % de los casos se resuelven con estándar o URL-safe. Ante la duda, pregunta a la documentación del sistema receptor qué variante espera: adivinarlo es perder tiempo.
Cómo convertir entre variantes sin errores
Pasar de estándar a URL-safe es mecánico: sustituye cada «+» por «-», cada «/» por «_» y elimina los «=» del final. Para volver atrás, haz exactamente lo inverso y añade el relleno necesario hasta que la longitud total sea múltiplo de 4. Hazlo con buscar y reemplazar en tu editor de texto, nunca a mano en cadenas largas donde un descuido es casi inevitable.
El error típico es convertir solo a medias: cambiar los caracteres pero olvidar el relleno, o viceversa. Después de convertir, decodifica la cadena resultante en la herramienta de CubTools para verificar que el contenido recuperado es exactamente el esperado. Si decodifica bien, la conversión es correcta; si falla, revisa carácter por carácter los símbolos sustituidos hasta dar con el culpable.
Preguntas frecuentes
¿Qué variante usa la herramienta de CubTools?
Base64 estándar (RFC 4648). Para URL-safe, sustituye + por -, / por _ y elimina los = finales.
¿Son intercambiables las variantes?
No directamente: hay que convertir los caracteres «+»/«/» y el relleno. La conversión es mecánica y sin pérdida.
¿Por qué JWT usa Base64URL?
Porque los tokens viajan en URLs y cabeceras HTTP, donde + / = causarían problemas de interpretación.