Base64 representa bytes como texto ASCII para JSON, URLs e protocolos que não transportam binário diretamente. Ele não comprime, não cifra e não protege segredos.
Exemplo prático
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)
Quando usar Base64
Use-o somente quando a interface exigir uma representação textual. Mantenha a conversão entre str e bytes visível e combine a variante escolhida com o consumidor do dado.
Cuidados ao decodificar
Limite o tamanho da entrada antes da decodificação. Para Base64 padrão, b64decode(..., validate=True) rejeita caracteres inesperados. Nunca aceite o resultado como confiável apenas porque a decodificação funcionou.
Continue estudando
Leia também Unicode, Bytes e UTF-8 em Python: Guia Prático e secrets em Python: Gere Tokens Seguros. A documentação oficial do Python, consultada em 22 de julho de 2026, detalha a API e o comportamento entre versões.