Codificar y Decodificar Strings
import base64
# Codificar
encoded = base64.b64encode('Hello World'.encode()).decode()
# 'SGVsbG8gV29ybGQ='
# Decodificar
decoded = base64.b64decode(encoded).decode()
# 'Hello World'Codificar Archivos
import base64
# Codificar archivo
with open('imagen.png', 'rb') as f:
encoded = base64.b64encode(f.read()).decode()
# Decodificar a archivo
with open('salida.png', 'wb') as f:
f.write(base64.b64decode(encoded))Base64 URL-Safe
# URL-safe (usa - y _ en lugar de + y /)
encoded = base64.urlsafe_b64encode(data).decode()
decoded = base64.urlsafe_b64decode(encoded + '==')Preguntas Frecuentes
¿Por qué necesito .encode() y .decode()?
En Python 3, base64 trabaja con bytes. .encode() convierte string a bytes, .decode() convierte bytes a string.