¿Qué es la Codificación Base64?
La codificación Base64 está en todas partes en el desarrollo web. Esta guía explica cómo funciona y cuándo usarla efectivamente.
Por Qué Existe Base64
Muchos sistemas solo manejan texto de forma segura. Los datos binarios pueden contener caracteres que rompen estos sistemas. Imagina enviar una imagen a través de un sistema de correo diseñado para texto de los años 70—ciertos valores de bytes se interpretarían como caracteres de control, corrompiendo la transmisión. Base64 convierte binario a texto seguro usando solo 64 caracteres que garantizadamente sobreviven la transmisión. Estos caracteres fueron elegidos porque existen en cada conjunto de caracteres, cada sistema de correo, cada URL y cada base de datos. Los 64 caracteres son A-Z, a-z, 0-9, + y /. El carácter = es para padding. Esta seguridad tiene un costo de 33% de aumento de tamaño. Cuando ves una cadena larga de letras y números que termina con signos =, probablemente estés mirando Base64. El patrón es distintivo: sin espacios, sin caracteres especiales excepto posiblemente + y /, y uno o dos = al final.
Los 64 Caracteres
Base64 estándar usa: A-Z (26 caracteres, índices 0-25), a-z (26 caracteres, índices 26-51), 0-9 (10 caracteres, índices 52-61), + (índice 62) y / (índice 63), con = para padding. Esta selección de caracteres específica no es arbitraria. Estos 64 caracteres aparecen en cada sistema de codificación de caracteres común (ASCII, UTF-8, Latin-1) y no causan problemas en la mayoría de capas de transporte. Base64URL reemplaza + por - y / por _ para seguridad en URL. Los + y / de Base64 estándar tienen significados especiales en URLs (+ a menudo se convierte en espacio, / separa segmentos de ruta). Ves Base64URL en JWTs y parámetros de URL. El padding = aparece cuando la longitud de entrada no es múltiplo de 3 bytes. Una entrada de 1 byte da 4 caracteres con == padding. Una entrada de 2 bytes da 4 caracteres con = padding. Algunos sistemas permiten omitir el padding.
Cómo Funciona
Base64 divide datos binarios en grupos de 6 bits, cada uno mapeado a uno de los 64 caracteres. Tres bytes se convierten en cuatro caracteres. El proceso en detalle: Toma los bytes de entrada y concatena su representación binaria. Divide esta secuencia de bits en trozos de 6 bits. Mapea cada valor de 6 bits a su carácter Base64 correspondiente. Agrega padding = si es necesario. Ejemplo: "Hi" (ASCII 72, 105) → binario 01001000 01101001 → agrupado en piezas de 6 bits: 010010 000110 1001 → (padding de la última pieza con ceros) 010010 000110 100100 → valores decimales 18, 6, 36 → caracteres "SGk" → con un = para padding → "SGk=" La codificación es determinista y sin pérdidas. La misma entrada siempre produce la misma salida, y siempre puedes recuperar el original. A diferencia de la compresión o el hashing, no hay pérdida de datos—solo una transformación de formato.
Probar la Herramienta
Codificador/Decodificador Base64