binascii.Fehler: Falsche Polsterung, auch, wenn die string-Länge ist Vielfaches von 4
Ich versuche zu base64-string konvertieren, um Bild, indem Sie python-code, aber ich bin immer binascii.Fehler: Falsche Polsterung, die ich durchgemacht habe mit meinem Lösung aber Sie nur empfehlen, überprüfen Sie die string-Länge teilbar ist 4, wenn es nicht teilbar durch 4, durch das hinzufügen von ' = ' - Zeichen am Ende der base64-codierte sting.
Bitte helfen Sie in diesem.
PYTHON-CODE: (bitte code von drive für mehr Sichtbarkeit)
import base64
strOne= 'data:image/png;base64,iVBORw0KGgoAAAANSU...string has 200000 character thats why I couldn t paste'
print 'strOne Length',len(strOne)
print 'StrOne Length is completely divisible by 4 (len%4),(len/4):', len(strOne)%4,len(strOne)/4
with open("imageToSave.png", "wb") as fh:
fh.write(strOne.strip().decode('base64'))
Ausgabe:
strOne Length 200000
StrOne Length is completely divisible by 4 (len%4),(len/4): 0 50000
Traceback (most recent call last):
File "/tests.py", line 13, in <module>
fh.write(strOne.strip().decode('base64'))
File "/usr/lib/python2.7/encodings/base64_codec.py", line 42, in base64_decode
output = base64.decodestring(input)
File "/usr/lib/python2.7/base64.py", line 328, in decodestring
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
Du musst angemeldet sein, um einen Kommentar abzugeben.
Prüfung der link, dein string hat 200000 bytes alle Rechte, aber es enthält die header:
Dies ist Teil der MIME-Nachricht oder so etwas. Sie Streifen das erste.
dann pad (falls erforderlich)
dann decodieren mit
codecs
(python 3-kompatibel),=> "wir glauben, im team zu arbeiten" 🙂