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.