Reference

Base64 en Python

Guía completa para Base64 en Python con el módulo base64 — ejemplos para strings, archivos y uso real.

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.