ich base64 Reihe von forecolor, Textur und edgemap Werte von Bildern extrahiert habe, habe ich eine Liste mit folgenden Struktur:Decode Python base64 String
forecolor=AgCEAg4DUQQCBQQGARMBFQE1AmUB
edge=AfCAFg5iIATCPwTAEIiBFggBDw
forecolor=AgAsAQ0CJAMcDRgOGg8DHQYeBzYBPQ4-DU0ETgNtBm4CfQI
Ich versuche, diese Werte zu entschlüsseln, aber ich bin immer falsch padding Fehler, hier sind die genauen Fehler:
Traceback (most recent call last):
File "ImageVectorData.py", line 44, in <module>
print "Decoded String: " + decoded.decode('base64', 'strict')
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/base64_codec.py", line 42, in base64_decode
output = base64.decodestring(input)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/base64.py", line 321, in decodestring
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
hier ist mein Code:
for item in value:
print "String before Split: " + item
if item.split("=")[0] == "forecolor":
decoded = (item.split("=")[1])
print "String to be decoded: " + decoded
print "Decoded String: " + decoded.decode('base64', 'strict')
Ich sah auch eine interessantes löscht, wenn die erste forecolor Base64 Zeichenfolge decodiert wurde: Hier wird die aus ist, dass setzen:
String before Split: forecolor=AgCEAg4DUQQCBQQGARMBFQE1AmUB
String to be decoded: AgCEAg4DUQQCBQQGARMBFQE1AmUB
Decoded String: ?Q5e
Ich bin nicht wirklich sicher, was ich falsch hier tue. Ich schaute auf folgendes Python-Dokument und versuchte das, aber das hat auch nicht funktioniert:
Der Wert für 'edge' scheint kein vlaid Base64-codierte Zeichenfolge zu sein, so dass Python eine Fehlermeldung gibt. Verwenden Sie gültige Eingaben, und die Dinge sollten funktionieren. –
Wenn Sie den Code anschauen ich nur versuchen, so zu entschlüsseln forecolor Ich glaube nicht Kante an dieser Stelle in der Tat kommt. –
@SvenMarnach, können Sie das padding Problem beheben, indem Sie ein paar '==' bis zum Ende des Strings hinzugefügt wird. Das größere Problem ist, dass das dekodierte Ergebnis völlig entschlüsselbar ist. –