Вопрос

Hi this is my example base64 encoded file :

myencodeimage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"

i wanna make jason.jpg this encoded text.

g = open("out.jpg", "w")
g.write(base64.decodestring(myencodeimage))
g.close()

But i have a "binascii.Error: Incorrect padding" problem ?

Это было полезно?

Решение

You try to decode the whole string, instead of only the base64 encoded data.

myencodeimage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"

try to decode

myencodeimage = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"

But keep in mind that the image is in a PNG container and not a compressed JPEG image, so basically your OS won't be able to call the correct program to open the image in the worst case.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top