Lección 1
¿Qué es Base64?
Por qué existe Base64 y dónde lo encuentras como desarrollador.
Base64 es una codificación binario-a-texto. Mapea bytes arbitrarios (fotos, texto cifrado, blobs protobuf, archivos comprimidos) a un alfabeto restringido de 64 caracteres ASCII imprimibles. El resultado parece galimatías para humanos, pero sobrevive a canales que solo toleran texto.
Lo crucial: Base64 no es cifrado. Cualquiera que vea la cadena puede decodificarla de vuelta a los bytes originales, a menos que hayas añadido criptografía real por separado.
Por qué necesitamos codificaciones binario-a-texto
Muchos sistemas asumían históricamente que «datos en tránsito» significaba texto legible:
- Cuerpos de correo y partes MIME antiguas
- Atributos JSON y XML que prohíben bytes nulos en bruto o caracteres de control ambiguos
- Parámetros de consulta URL y pipelines de logging que se bloquean con binario arbitrario
- Depuración: imprimir una huella de bytes sin estropear la terminal
Base64 resuelve un problema de transporte: hacer los bytes seguros como texto. No promete secreto, autenticidad ni compresión.
Dónde encuentra Base64 un desarrollador
Verás Base64 de forma rutinaria en:
- Segmentos JWT (
header.payload.signature) — cada parte son bytes JSON codificados en Base64 (a menudo la variante URL-safe) - Incrustar assets pequeños dentro de HTML/CSS vía
data:image/png;base64,... - Cabeceras
Authorization: Basic ...— bytesusername:passwordcodificados (aún necesitas HTTPS en producción) - Plomería criptográfica — bloques PEM envuelven estructuras DER; payloads PKCS suelen transportarse como Base64 dentro de sobres de texto
- Campos de base de datos o API que almacenan blobs opacos como VARCHAR/TEXT por compatibilidad
Texto ASCII vs Unicode
Codifica texto con significado («hello») correctamente en UTF-8 primero, produciendo bytes, luego aplica Base64 a esos bytes. Modelos mentales mezclados — «¿esta cadena ya es Unicode?» frente a «estos son octetos en bruto» — son una fuente frecuente de bugs descritos más adelante en este curso.
Alfabeto Base64 de un vistazo
El alfabeto clásico usa A–Z, a–z, 0–9, +, / más el relleno opcional = al final. El mapeo exacto y las reglas de relleno se cubren en las siguientes lecciones.
Idea clave
Base64 convierte bytes opacos en texto ASCII seguro. Aprende esto una vez y JWT, archivos PEM, miniaturas en CSS y APIs de «campo binario como cadena» serán más fáciles de razonar — incluso cuando delegues la codificación a una biblioteca cada día. Prueba con la herramienta Base64 en el navegador.