Tratamento de preenchimento incorreto na decodificação Python Base64
Ao decodificar dados codificados em base64 em Python com base64.decodestring(), você pode encontrar um Erro de 'preenchimento incorreto'. Para contornar esse problema, você pode considerar várias abordagens.
1. Adicionando preenchimento
Como sugerido na resposta aceita, você pode simplesmente adicionar o máximo possível de caracteres de preenchimento antes da decodificação. No Python 3.x, base64.b64decode() truncará automaticamente qualquer preenchimento extra, tornando esta uma solução simples e eficaz.
base64.b64decode(s b'==')
2. Usando decodificador alternativo
Uma abordagem alternativa é usar um decodificador diferente que ignore problemas de preenchimento. Por exemplo, o método decodestring() do módulo binascii permite preenchimento incorreto:
import binascii
binascii.decodestring(b64_string)
3. Ignorando Validação
Ao decodificar com base64.b64decode(), o parâmetro de validação pode ser definido como False para ignorar erros de validação, incluindo preenchimento incorreto. Essa abordagem é recomendada se você tiver certeza sobre a integridade dos dados codificados.
base64.b64decode(s, validate=False)
4. Usando Openssl
A ferramenta externa openssl fornece uma maneira confiável de decodificar dados base64, mesmo com preenchimento incorreto. Você pode usar o comando enc da seguinte maneira:
openssl enc -d -base64 -in b64string -out binary_data
Nota: É importante considerar o correto abordagem baseada nos requisitos específicos e na integridade dos dados codificados.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3