Abhängig von der zum Öffnen der Datei verwendeten Kodierung wird möglicherweise ein anderes Verhalten angezeigt. Mein Windows 7-Notepad ermöglicht das Öffnen einer Datei in ANSI, UTF-8, Unicode oder Unicode Big Endian.
Ich habe dieses Problem mit einem kleinen 2x2-Pixel-JPEG-Bild getestet, das mit gimp erstellt und die Bilddatei mit ANSI-Kodierung geöffnet und gespeichert wurde. Beim Öffnen des ursprünglichen und des gespeicherten Bildes mit einem Hex-Editor sehe ich, dass alle 00-Sequenzen (zwei Hex-Ziffern, NUL-Steuerzeichen ) in 20 (Leerzeichen) umgewandelt wurden.
Durch Ersetzen aller 20 durch 00 im Hex-Editor wird das Bildformat wiederhergestellt.
Ich habe es ein bisschen gegoogelt und keine Hinweise gefunden, warum dies so ist. Nur ein Verweis auf einen Beitrag, der davor warnt (Google-Cache-Link, die Seite ist nicht verfügbar).
Wenn Sie die Datei als UTF-8 speichern / öffnen, werden anscheinend noch NUL-Zeichen in Leerzeichen konvertiert. Die resultierende Dateigröße wird jedoch aufgrund der Konvertierung von Einzelbyte-Zeichen in UTF-8-Mehrbyte-Sequenzen erhöht.
Wenn Sie die Datei als Unicode speichern / öffnen, werden anscheinend NUL-Zeichen in Leerzeichen konvertiert, und außerdem wird am Anfang der Datei, der Stückliste, ein Byte hinzugefügt .