Seite 1 von 1

[gelöst] base64 encode->decode : 2 Bytes zuviel

Verfasst: Sonntag 5. Oktober 2008, 12:25
von arghargh
out.png ist 2 Bytes größer als in.png - warum?

Code: Alles auswählen

import sys
import base64

f = open("in.png", "rb")  # read binary
image = f.read()
f.close()

string = base64.encodestring(image)
image = base64.decodestring(string)

f = open("out.png", "wb")   # write binary, too!!
f.write(image)
f.close()

Verfasst: Sonntag 5. Oktober 2008, 12:34
von arghargh
Ziemlich am Anfang der Datei werden zwei 0x0D eingefügt. Aber wieso?

Python 2.5.2 unter windows

Verfasst: Sonntag 5. Oktober 2008, 12:41
von Trundle
Schau dir mal an, wie du die Datei zum Lesen und wie du sie zum Schreiben öffnest.

Verfasst: Sonntag 5. Oktober 2008, 12:57
von arghargh
AH! Sehr gut, ich wusste gar nicht, dass da unterschieden wird. Danke.

Habe es oben korrigiert.