Saltar al contenido
uencoder

Base64

Base64 proyecta datos binarios arbitrarios sobre 64 caracteres ASCII imprimibles (A-Z, a-z, 0-9, +, /) para que los datos binarios puedan viajar por canales de solo texto.

Propósito

Resolvió el problema de los primeros sistemas de correo que solo transportaban texto ASCII de 7 bits y no podían enviar adjuntos binarios directamente, evitando que las pasarelas alteraran los caracteres de control.

Mecanismo

El flujo de bytes de entrada se procesa en grupos de 3 bytes (24 bits) divididos en cuatro unidades de 6 bits, cada una proyectada a un carácter del alfabeto Base64. El grupo final incompleto se rellena con = hasta 4 caracteres. La longitud codificada es aproximadamente 4/3 de la entrada, y la longitud de salida siempre es múltiplo de 4.

Casos de uso

  • Incrustar datos binarios en JSON, XML y URL (p. ej., imágenes pequeñas en Data URLs)
  • Transporte de adjuntos MIME en el correo
  • Codificación de usuario:contraseña en la autenticación básica HTTP
  • Codificación de los segmentos de cabecera y carga útil de un JWT

Ejemplos

  • entrada
    Hello
    Output
    SGVsbG8=

    5 bytes to 8 characters with one trailing = pad

Errores comunes

Using standard Base64 directly in URLs, where + and / get percent-encoded and decoding fails
Use Base64URL instead (- and _ replace + and /, and = padding is dropped)

Términos relacionados

Herramientas relacionadas

Tutoriales relacionados

References