Reference

Base64 em Python

Guia completo para Base64 em Python com o módulo base64 — exemplos para strings, arquivos e uso real.

Codificar e decodificar strings

import base64

encoded = base64.b64encode('Hello World'.encode()).decode()
# 'SGVsbG8gV29ybGQ='

decoded = base64.b64decode(encoded).decode()
# 'Hello World'

Codificar arquivos

with open('imagem.png', 'rb') as f:
    encoded = base64.b64encode(f.read()).decode()

with open('saida.png', 'wb') as f:
    f.write(base64.b64decode(encoded))

FAQ

Por que .encode() e .decode() em Python 3?

base64 trabalha com bytes. .encode() converte string para bytes, .decode() converte bytes para string.