Base64 representa bytes como texto ASCII para JSON, URL y protocolos que no transportan binario directamente. No comprime, cifra ni protege secretos.

Ejemplo práctico

import base64

payload = b"invoice:4821"
encoded = base64.urlsafe_b64encode(payload).decode("ascii")
decoded = base64.urlsafe_b64decode(encoded.encode("ascii"))

assert decoded == payload
print(encoded)

Cuándo usar Base64

Úsalo solo cuando una interfaz exija una representación textual. Mantén visibles las conversiones entre str y bytes y acuerda el alfabeto con quien consume el dato.

Precauciones al decodificar

Limita el tamaño de la entrada antes de decodificar. En Base64 estándar, b64decode(..., validate=True) rechaza caracteres inesperados. Decodificar con éxito no vuelve confiable el contenido.

Sigue aprendiendo

Consulta también Unicode, Bytes y UTF-8 en Python: Guía Práctica y secrets en Python: Genera Tokens Seguros. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API y el comportamiento entre versiones.