Moin Jungs.
Sorry für den Titel, aber er sagt wohl alles. Diese Ironieeee
Ich hatte gerade mal eine ganz komische Idee. Ihr denkt jetzt bestimmt, eine typische Alina Idee und so ist es.
ich öffne das Bild bild.png mal mit dem Editor und kopiere den gesamten "Text".
Danach mache ich eine neue Datei mit dem Editor auf und füge das gerade kopierte dort ein. Danach speichere ich die neue Datei unter dem Namen bild_neu.png. Eine 1:1 Kopie !!!
Wasserblase, das haute so gar nicht hin. Beide Dateien sehen inhaltlich gleich aus, dennoch kann das neue Bild nicht geöffnet werden.
Ich möchte jetzt nicht lesen, das es eine blöde Idee ist. Ich frage mich wieso das so ist und ob das grundsätzlich machbar wäre und wenn unter welchen Voraussetzungen?
Es geht mir rein darum es zu verstehen und mein Wissen zu erweiter bzw. die Neugierde zu stimmen. Somit nichts, muss ich scripten.
die gleiche Datei: 1x original, 1x "Alina kopiert".
-
-
ich öffne das Bild bild.png mal mit dem Editor und kopiere den gesamten "Text".
Wie kommst Du darauf, dass ein (Text-)Editor eine Bilddatei (binäre Daten) korrekt (1:1) auslesen kann?
Ein Editor öffnet eine Datei als Text (zumindest wird er es versuchen) und interpretiert die Daten als ASCII, UTF8, UTF16 oder was auch immer, aber ganz sicher nicht als binäre Daten.
Wenn Du diese "Interpretation" abspeicherst, kommt irgendein Text-Kauderwelsch raus, aber eben nicht die ursprünglichen Binärdaten und somit kein (heiles) Bild.
-
Mit einem Hex-Editor könnte man sowas machen, aber nicht mit einem Textprogramm.
-
Wie kommst Du darauf, dass ein (Text-)Editor eine Bilddatei (binäre Daten) korrekt (1:1) auslesen kann?
War im Kopf der Gedanke und bevor ich lange mir Erklärungen ausgoogle, habe ich es einfach ausprobiert.
-
Versuchsweise gerade ein *.jpg mit Notepad ++ geöfnet (Ansi Codiert) danach unter neuem Namen abgespeichert - sieht nach Öffnen aus wie das Orginal (Oberflächlich betrachtet).
Gehe ich her und kopiere den Text in eine leere Textdatei (ansi Codiert) bekomme ich eine Fehlermeldung beim öffnen als jpg.
Sehe ich mir die beiden Dateien in einem Hex editor an - fällt auf dass in der Fehlermeldung ein "Nichts" als Leerzeichen behandelt wird im Orginal als 00. Da könnte man wahrscheinlich stundenlang suchen (oder ein Autoit Programm schreiben das die Unterschiede findet.
Peter
-
Wie mumpel bereits geschrieben hat, würde es mit einem Hex-Editor gehen.
BTW: der beste kostenlose Hex-Editor, den ich kenne, ist HxD (https://mh-nexus.de/de/hxd/).
-
Ja HxD läuft auch portabloe. Setze ich auch ein
Peter
-
HxD habe ich bereits im Downloadordner
-
Peter S. Taler
Ja ich habe gesehen, ds es ein Unterschied der Dateien von 185 Byte gibt. Inhaltlich gleich, aber irgendwo müssen ja die Bytes 185 Byte einen Grund haben. Vielleicht das mit den "nichts" und "00".
Und wie geschrieben, es war einfach eine Idee dem einmal nachzugehen, weil ich es mich aktuell gefragt habe.
Ich bin so, das ich mache und nicht groß hinterfrage (nicht immer *fg*). Stand auf dem Flugplatz und habe mich gefragt, wie es ist mal aus einen Flugzeug, durch die Wolken zu springen. Nicht lange nachgedacht und PENG, 4.500 Meter freier Fall und die Antwort bekommen. -
Ja ich habe gesehen, ds es ein Unterschied der Dateien von 185 Byte gibt. Inhaltlich gleich, aber irgendwo müssen ja die Bytes 185 Byte einen Grund haben.
Riecht mir eher nach Änderung der Kodierung.
Z.B.: Wenn in deinem Bild 185x die Bitfolge C4 vorkommt und der Texteditor die Datei in der Kodierung Windows-1252 interpretiert eingelesen hat.
Dann wird er diese Bitfolge als ein großes Ä interpretieren.
Wenn man das ganze nun aber speichert und der Editor den Inhalt nun in der Kodierung UTF-8 abspeichert, dann muss er die Kodierung für das Ä von C4 in C3 84 ändern, da das Ä in UTF-8 ebenso dort kodiert ist.
Heißt aber auch: du hast dann 185 Byte mehr Speicherverbrauch. -
Vielleicht das mit den "nichts" und "00".
In Binärdateien entspricht ein Nullbyte eben dem Wert 0. Ein Byte geht von 0-255 oder hexadezimal 0x00-0xFF. Das ist als Binärdatei auch normal und völlig ok.
Als Text ist ein Nullbyte aber nicht darstellbar, wie auch noch andere Steuerzeichen. Diese werden vom Texteditor in lesbare Zeichen umgewandelt bzw. weggelassen.
-
Danke für die Erklärung !!!