¿Qué es la codificación Base64?
Base64 es un esquema de codificación de binario a texto que representa cualquier dato en bytes utilizando únicamente 64 caracteres ASCII imprimibles: A-Z, a-z, 0-9, además de + y /. Se usa muchísimo para incrustar imágenes en HTML/CSS (los llamados data URIs), para enviar adjuntos binarios en correos electrónicos (MIME), en los JSON Web Tokens y, en general, en cualquier situación en la que un dato binario deba viajar de forma segura por un canal que solo admite texto. Esta herramienta codifica el texto que escribas: primero calcula los bytes en UTF-8 y luego los codifica.
Cómo usar este codificador
Escribe o pega tu texto en el cuadro y pulsa enviar. La calculadora convierte el texto a bytes UTF-8, aplica el algoritmo Base64 estándar y devuelve la cadena codificada junto con el número de bytes de entrada y la cantidad de caracteres de salida.
La fórmula explicada
El codificador lee los bytes de entrada de tres en tres. Tres bytes forman 24 bits, que se dividen de forma exacta en cuatro grupos de 6 bits. Cada valor de 6 bits (de 0 a 63) sirve de índice en el alfabeto para producir un carácter de salida. Cuando la longitud de la entrada no es múltiplo de 3, el algoritmo rellena el último grupo: un byte sobrante genera dos caracteres más ==, y dos bytes sobrantes generan tres caracteres más un único =. Por eso la longitud de salida es siempre $$L_{out} = 4 \left\lceil \frac{L_{in}}{3} \right\rceil$$
Ejemplo resuelto
Vamos a codificar el texto Man. Sus bytes ASCII son 77, 97, 110 → en binario 01001101 01100001 01101110. Agrupados en bloques de 6 bits: 010011 = 19 → T, 010110 = 22 → W, 000101 = 5 → F, 101110 = 46 → u. Resultado: TWFu: entran 3 bytes, salen 4 caracteres y no hace falta relleno. En la fórmula: \(L_{out} = 4 \left\lceil \frac{3}{3} \right\rceil = 4\).
Preguntas frecuentes
¿Por qué mi resultado termina con signos =? El relleno completa el último grupo cuando la entrada no es múltiplo de 3 bytes, de modo que la longitud de salida siga siendo múltiplo de 4.
¿Base64 cifra mis datos? No. Base64 es codificación, no cifrado: cualquiera puede decodificarlo. Solo sirve para que un dato binario pueda transportarse de forma segura como texto.
¿Por qué la salida ocupa más que la entrada? Base64 aumenta el tamaño de los datos en torno a un 33 %, porque cada 3 bytes se convierten en 4 caracteres.