Maison  >  Article  >  développement back-end  >  Comment puis-je contourner les erreurs de « remplissage incorrect » lors du décodage Python Base64 ?

Comment puis-je contourner les erreurs de « remplissage incorrect » lors du décodage Python Base64 ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-17 21:23:30166parcourir

How Can I Bypass

Gestion des erreurs de remplissage incorrectes dans le décodage Python Base64

Question :

Lors du décodage de données codées en base64 en Python, une erreur « Remplissage incorrect » est rencontrés. Existe-t-il un moyen d'ignorer cette erreur et de poursuivre le processus de décodage ?

Réponse :

Pour contourner l'erreur « Remplissage incorrect », des caractères de remplissage doivent être ajoutés aux octets codés avant de le décoder .

Il existe plusieurs façons d'y parvenir :

  • Ajouter manuellement un remplissage : Ajoutez deux caractères de remplissage ('=') à la fin de la chaîne encodée. avant de le décoder.
  • = raccourci : Ajoutez un signe ' ' à la fin de la chaîne encodée. Python ajoutera automatiquement le remplissage nécessaire.
  • * raccourci : Multipliez la chaîne encodée par un entier supérieur à 1. Python ajoutera le remplissage requis au résultat.

Par exemple :

<code class="python">import base64

encoded_bytes = "abc"
decoded_bytes = base64.b64decode(encoded_bytes + "==")</code>

Notez que l'ajout d'un remplissage maximum (deux caractères) est suffisant, même si la chaîne codée d'origine contient un certain remplissage.

De plus, si l'argument du mot clé validate dans la fonction base64.b64decode() est définie sur False (valeur par défaut), les caractères non alphabétiques dans la chaîne codée seront ignorés, permettant l'ajout de caractères de remplissage sans rencontrer d'erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn