Ich versuche, base64 String Bild von Python-Code zu konvertieren, aber ich bin immer binascii.Error: Falsche Polsterung Ich habe mit meinem solution durchgegangen aber sie schlagen nur vor, dass die Länge der Prüfzeichenfolge teilbar 4 ist, wenn sie nicht durch 4 teilbar gemacht werden soll, indem am Ende des base64-kodierten Zeichens '=' Zeichen hinzugefügt werden. Bitte helfen Sie dabei.binascii.Error: Falsche Polsterung, auch wenn String-Länge ist Vielfaches von 4
PYTHON CODE: (bitte überprüfen Code aus dem Laufwerk 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'))
Ausgang:
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
Danke @ Jean-François Fabre –
Das hat wunderbar funktioniert! – varagrawal