Base64
Base64 es una codificación de binario a texto que representa bytes mediante un alfabeto de 64 caracteres.
Definición
Base64 representa bytes arbitrarios como texto para transportarlos por sistemas orientados a caracteres. El alfabeto estándar contiene letras latinas mayúsculas y minúsculas, dígitos, + y /; al final puede aparecer = como relleno.
Base64 solo cambia la representación. No aporta confidencialidad, autenticidad ni integridad por sí mismo y se decodifica sin clave.
Cómo funciona
El codificador toma 3 bytes, divide sus 24 bits en cuatro valores de 6 bits y asigna a cada valor uno de los 64 caracteres. Si el grupo final contiene solo 1 o 2 bytes, se suele usar = para completar una longitud múltiplo de cuatro.
En entradas grandes, el resultado ocupa aproximadamente un tercio más. Base64url sustituye + y / por - y _ y suele omitir el relleno, por lo que ambas variantes no siempre son intercambiables.
Ejemplo práctico
Los bytes ASCII y UTF-8 de Hi son 48 69 en hexadecimal. Base64 estándar los representa como SGk=. Al decodificar se recuperan los mismos bytes, que interpretados como UTF-8 producen Hi.
Base64 también puede contener una imagen, datos comprimidos o texto cifrado; una decodificación correcta no garantiza texto legible.
Formatos y errores frecuentes
Las aplicaciones deben coincidir en la variante, el uso de relleno y la admisión de espacios. Un decodificador estricto puede rechazar lo que otro tolera. Antes de codificar texto hay que convertirlo a bytes con una codificación de caracteres, como UTF-8; otra codificación generará un Base64 distinto.
No. Es una codificación pública y reversible que no necesita clave secreta. Los datos confidenciales deben protegerse primero con un sistema criptográfico adecuado.
El relleno completa el último grupo de cuatro caracteres cuando la cantidad de bytes no es divisible entre tres. Puede haber uno o dos signos, aunque algunos formatos los omiten.
Agrupan los bits igual, pero Base64url usa caracteres seguros para URL y suele omitir el relleno. Debe emplearse la variante exigida por el protocolo.