Umgang mit falscher Auffüllung bei der Python-Base64-Dekodierung
Beim Dekodieren von Base64-kodierten Daten in Python mit base64.decodestring() kann es zu einer Fehlermeldung kommen Fehler „Falsche Auffüllung“. Um dieses Problem zu umgehen, können Sie mehrere Ansätze in Betracht ziehen.
1. Auffüllen hinzufügen
Wie in der akzeptierten Antwort vorgeschlagen, können Sie vor dem Dekodieren einfach die maximal möglichen Auffüllzeichen hinzufügen. In Python 3.x schneidet base64.b64decode() automatisch alle zusätzlichen Auffüllungen ab, was dies zu einer einfachen und effektiven Lösung macht.
<code class="python">base64.b64decode(s + b'==')</code>
2. Verwendung eines alternativen Decoders
Ein alternativer Ansatz besteht darin, einen anderen Decoder zu verwenden, der Auffüllprobleme ignoriert. Beispielsweise ermöglicht die decodestring()-Methode des Binascii-Moduls eine falsche Auffüllung:
<code class="python">import binascii binascii.decodestring(b64_string)</code>
3. Validierung ignorieren
Beim Dekodieren mit base64.b64decode() kann der Validierungsparameter auf „False“ gesetzt werden, um Validierungsfehler, einschließlich falscher Auffüllung, zu ignorieren. Dieser Ansatz wird empfohlen, wenn Sie von der Integrität der codierten Daten überzeugt sind.
<code class="python">base64.b64decode(s, validate=False)</code>
4. Verwendung von Openssl
Das externe Tool Openssl bietet eine zuverlässige Möglichkeit, Base64-Daten zu dekodieren, auch mit falscher Auffüllung. Sie können den Befehl enc wie folgt verwenden:
<code class="sh">openssl enc -d -base64 -in b64string -out binary_data</code>
Hinweis: Es ist wichtig, den richtigen Ansatz basierend auf den spezifischen Anforderungen und der Integrität der codierten Daten zu berücksichtigen.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit falschen Auffüllfehlern bei der Python Base64-Dekodierung um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!