Декодировать строку base64 Python

Я извлек строку base64 значений переднего цвета, текстуры и карты краев изображений, у меня есть список со следующей структурой:

forecolor=AgCEAg4DUQQCBQQGARMBFQE1AmUB
edge=AfCAFg5iIATCPwTAEIiBFggBDw
forecolor=AgAsAQ0CJAMcDRgOGg8DHQYeBzYBPQ4-DU0ETgNtBm4CfQI

Я пытаюсь декодировать эти значения, но получаю ошибку Incorrect Padding, вот точная ошибка:

Traceback (most recent call last):
  File "ImageVectorData.py", line 44, in 
    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

Вот мой код:

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')

Я также увидел интересный результат, когда была декодирована первая строка base64 forecolor :Вот результат этого:

String before Split: forecolor=AgCEAg4DUQQCBQQGARMBFQE1AmUB
String to be decoded: AgCEAg4DUQQCBQQGARMBFQE1AmUB
Decoded String: ?Q5e

Я не совсем уверен, что я делаю неправильно здесь. Я просмотрел следующий документ python и попробовал его, но это тоже не сработало: http://docs.python.org/library/base64.html

10
задан add-semi-colons 25 July 2012 в 18:21
поделиться