Informática
Conversor Base64: texto, enteros, hexadecimal y binario
Escribe un valor en cualquiera de los cinco formatos y obtén al instante todos los demás: la cadena Base64, el texto, los bytes en hexadecimal y en binario y el entero que representan. Debajo verás cómo nacen los caracteres, seis bits cada vez.
Qué es Base64 y cuándo se usa
Base64 es una forma de escribir bytes cualesquiera usando solo 64 caracteres seguros: las letras mayúsculas y minúsculas, las cifras, el más y la barra. Se necesita cuando datos binarios deben pasar por un canal pensado para texto: los adjuntos del correo, las imágenes incrustadas en una página como data URI, las claves y certificados en archivos PEM, los tokens JWT.
El mecanismo es sencillo: se toman tres bytes, es decir 24 bits, y se dividen en cuatro grupos de seis. Seis bits valen de 0 a 63, y cada valor corresponde a un carácter. Cuando al final sobran uno o dos bytes, se completan con ceros y se añade el signo = para indicar cuántos caracteres no llevan datos. Por eso una cadena Base64 es siempre alrededor de un tercio más larga que los datos originales.
Base64 no es un cifrado: cualquiera puede decodificarlo sin claves. Convierte, no protege. La variante URL-safe sustituye + y / por - y _, porque los dos primeros tienen un significado en las direcciones web, y a menudo omite el relleno.
Errores frecuentes
- Considerar Base64 un modo de ocultar una contraseña: es una codificación que cualquiera puede invertir y no ofrece ninguna seguridad.
- Decodificar como texto datos que no lo son: una imagen o una clave en Base64 dan bytes que no forman UTF-8 válido, y es normal.
- Mezclar los dos alfabetos: una cadena URL-safe con - y _ pasada a un decodificador estándar se rechaza, o se lee mal si el decodificador ignora los caracteres desconocidos.
Preguntas frecuentes
¿Por qué la cadena Base64 termina con uno o dos signos =?
Porque los datos no eran múltiplo de tres bytes. Con un byte sobrante se escriben dos caracteres y dos =, con dos bytes tres caracteres y un =. El relleno indica al decodificador cuántos bytes reconstruir; muchos decodificadores, incluido este, lo aceptan aunque falte.
¿Cuánto más largo se vuelve un archivo en Base64?
Cada tres bytes se convierten en cuatro caracteres, es decir, alrededor de un 33 % más, redondeado al múltiplo de cuatro. Una imagen de 30 kB se convierte en una cadena de unos 40 kB.
¿Qué significa el entero big-endian?
Los bytes se leen como un único número, con el primer byte como cifra más significativa en base 256. Los bytes 01 00 valen 256. Es el mismo orden que usan los protocolos de red y los números grandes de la criptografía.
¿Por qué el texto decodificado muestra caracteres extraños o no aparece?
Porque los bytes no son texto UTF-8: pueden ser una imagen, un archivo comprimido o un texto en otra codificación, como Latin-1. En ese caso lo que cuenta es el hexadecimal, que muestra los bytes tal como son.
Cómo funciona este cálculo
Cada grupo de tres bytes b₁ b₂ b₃ forma el número N = b₁·65536 + b₂·256 + b₃. Los cuatro caracteres son las posiciones ⌊N / 262144⌋, ⌊N / 4096⌋ mod 64, ⌊N / 64⌋ mod 64 y N mod 64 en el alfabeto ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/. La decodificación hace el camino inverso. El entero es la suma de los bytes ponderados por 256 elevado a su posición contada desde la derecha.
Cálculos relacionados
Conversión de bases numéricas
Binario, octal, decimal, hexadecimal y complemento a dos.
Álgebra de Boole
Tabla de verdad de una expresión lógica con AND, OR, NOT y XOR.
Coma flotante IEEE 754
Cómo se guarda un decimal como float de 32 o 64 bits: signo, exponente, mantisa y error.
Códigos Unicode y UTF-8
El code point, los bytes UTF-8 y UTF-16 y el código HTML de cada carácter, emoji incluidos.