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.