Gestion du remplissage incorrect dans le décodage Python Base64
Lors du décodage de données codées en base64 en Python avec base64.decodestring(), vous pouvez rencontrer un Erreur « Remplissage incorrect ». Pour contourner ce problème, vous pouvez envisager plusieurs approches.
1. Ajout de remplissage
Comme suggéré dans la réponse acceptée, vous pouvez simplement ajouter le maximum de caractères de remplissage possibles avant le décodage. Dans Python 3.x, base64.b64decode() tronquera automatiquement tout remplissage supplémentaire, ce qui en fait une solution simple et efficace.
base64.b64decode(s b'==')
2. Utilisation d'un décodeur alternatif
Une approche alternative consiste à utiliser un décodeur différent qui ignore les problèmes de remplissage. Par exemple, la méthode decodestring() du module binascii autorise un remplissage incorrect :
import binascii
binascii.decodestring(b64_string)
3. Ignorer la validation
Lors du décodage avec base64.b64decode(), le paramètre validate peut être défini sur False pour ignorer les erreurs de validation, y compris un remplissage incorrect. Cette approche est recommandée si vous êtes sûr de l'intégrité des données codées.
base64.b64decode(s, validate=False)
4. Utilisation d'Openssl
L'outil externe openssl fournit un moyen fiable de décoder les données base64, même avec un remplissage incorrect. Vous pouvez utiliser la commande enc comme suit :
openssl enc -d -base64 -in b64string -out binary_data
Remarque : Il est important de considérer le bon approche basée sur les exigences spécifiques et l’intégrité des données codées.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3