Was macht eine Bilddatei zum Bild?

AP Nova

Commander
Registriert
Juni 2008
Beiträge
2.256
Ich bin mir nicht ganz sicher, ob das hier der passende Bereich ist oder ob "System und Oberfläche" besser wäre.

Auf jeden Fall meine Frage:
Nimmt man irgendein beliebiges Bild, welches man per Texteditor öffnet und wirklich nur direkt wieder speichert, kann das Bild nicht mehr geöffnet werden sondern wird als fehlerhaft bezeichnet.

Woran liegt das, wenn man doch wirklich gar keine Änderung vornimmt? (Dass sich irgendetwas ändern muss ist klar, allerdings dachte ich bis mir dieses Phänomen auffiel, dass es letztendlich nur auf die Dateierweiterung und den tatsächlichen Dateiinhalt ankommt)
 
das ist eben nicht so ... in der datei befindet sich immer ein header. dieser enthält informationen über dateityp usw. auf einem mac zum bsp brauchst du keine dateiendungen. der liest die relevanten infos ausm header aus.

speicherst du das bild nun mit dem text edit erneut, ersetzt dieser den header. manche programme wie irfanview können die datei trotzdem öffnen und erkennen das es ein bild ist und bieten datei endung ändern dialog an.
 
Irfanview hat eben aber nicht erkannt, dass es sich dabei um eine .jpg handelte, bei der ich das noch einmal versucht habe. Der sagt dann was von "Kodierungsfehler" und "JPEG datastream contains no image".
 
könnte auch sein, dass eine bilddatei eine binäre datei ist, und wenn man die mit nem texteditor speichert, daraus eine ascii datei wird.
 
Hi,

die Lösung ist eigentlich ganz einfach. Eine Binärdatei ist keine Textdatei. Wenn man eine Binärdatei (z.B. Bild) mit einem Texteditor öffnet, dann interpretiert dieser die Binärdaten teilweise als Zeichen. Zum Beispiel sind im ASCII Code die ersten 32 Zeichen Steuerbefehle. Ein Texteditor kann damit nichts anfangen und verwirft diese. Wenn man nun das im Texteditor geöffnete Bild speichert, dann gehen Informationen verloren, so dass ein Bildeditor die Datei nicht mehr interpretieren kann.

Es hat auch nichts mit der Endung zu tun. Diese gibt es nur, damit wir Menschen besser erahnen können, worum es sich dabei handeln könnte.
 
Pawel23 schrieb:
Es hat auch nichts mit der Endung zu tun. Diese gibt es nur, damit wir Menschen besser erahnen können, worum es sich dabei handeln könnte.

eben.
Dateien haben meist noch einen Header, wo die Informationen drinnen stehen, um was für eine Datei es sich handelt und welche Eigenschaften sie besitzt.

Es liegt in der tat daran, dass ein Texteditor die Datei als Textdatei abspeichert und nicht als binäre Datei.

Wenn du den Unterschied zwischen Text (ASCII) und binär nicht kennst, dann schau dir mal das Bildformat PBM an.
Dieses Format gibt es sowohl als ASCII, als auch binär.
 
Notepad.exe kann Dateien nicht im Binärformat öffnen, hierfür nimmt man sogenannte HEX-Editoren.
Mit denen man auch früher in Binärdateien Spielstände verändert hat um z.B. 10000000 Credits zu kriegen.
 
Das liegt nicht an Notepad oder Texteditoren im Allgemeinen, sondern an Windows, das aus irgendeinem Grund, der sich mir nicht erschließt für Dateien einen Text- und einen Binärmodus kennt. Versucht man eine Binärdatei im Textmodus zu speichern, kommt dabei Mist heraus.

In anderen Betriebssystemen kann man problemlos eine Binärdatei in einem Texteditor öffnen, ändern, speichern und die Datei ist (je nachdem was man geändert hat) nicht zwangsläufig kaputt.
 
naja sorry... aber es liegt definitiv am Notepad. Oder willst du sagen es gibt kein Program unter Windows das Binärdateien lesen kann? Ansonsten wäre es ja nicht die Schuld von Windows...
Also hat gar nix mit Windows zu tun, bist warscheinlich Linux-Nutzer? Damit geht ja auch alles -.-
 
Natürlich gibt es Programme, die Binärdateien lesen können. Aber ein Texteditor muss seine Dateien unter Windows im Textmodus öffnen, weil Windows da nun einmal unterscheidet. Warum auch immer.

Nutze übrigens Windows 7 und habe keine Ahnung, was das zur Sache tut.
 
@asdfman: Nein, ein Texteditor muss das nicht. Er kann. Das ist der springende Punkt. Gute Texteditoren erkennen dann auch, dass es sich um eine Binärdatei handelt... insofern ist Notepad schuld.
 
Dateiendungen existieren nicht nur für den Menschen!

Es ist ein Unterschied, ob die Entscheidung, welches Symbol für eine Datei angezeigt wird, anhand eines Eintrages in der Dateitabelle der Festplatte gefällt wird (Dateiname) oder ob Öffnen-Lesezugriff-Schließen-Operationen angestrengt werden müssen, um das Dateisymbol zu bestimmen. Letzteres ist um einiges aufwendiger.

Was das Bearbeiten von Binärdateien in Texteditoren betrifft: Steuerzeichen dürfen unterschiedlich interpretiert werden. Es ist nicht standardisiert, ob ein Tabulator in 8 Leerzeichen umgewandelt werden darf oder nicht, ob Zeilenumbrüche nun ein CR erfordern (Windows/MS-DOS) oder nicht (unixoide Systeme), etc. Aus diesem Grund liegt es nicht an der Schuld eines Texteditors, wenn der Benutzer eine Binärdatei mit dem Texteditor öffnet, bearbeitet und abspeichert. Der Benutzer wählt in diesem Moment einfach das falsche Bearbeitungsprogramm und damit befindet sich das Problem mal wieder zwischen Tastatur und Stuhl (PEBKAC).
 
XunnD schrieb:
Dateiendungen existieren nicht nur für den Menschen!

Es ist ein Unterschied, ob die Entscheidung, welches Symbol für eine Datei angezeigt wird, anhand eines Eintrages in der Dateitabelle der Festplatte gefällt wird (Dateiname) oder ob Öffnen-Lesezugriff-Schließen-Operationen angestrengt werden müssen, um das Dateisymbol zu bestimmen. Letzteres ist um einiges aufwendiger.

Und für wen ist das Symbol? Für den Menschen ;)
Letzendlich sind Endungen also doch für den Menschen.
Ein Rechner kann auch ohne Symbole leben.
 
Whiz-zarD schrieb:
Und für wen ist das Symbol? Für den Menschen ;)
Letzendlich sind Endungen also doch für den Menschen.
Ein Rechner kann auch ohne Symbole leben.

Da gebe ich Dir recht - dennoch ist es mit weniger Aufwand verbunden, die Symbole anhand der Dateiendung auszuwählen, als anhand des ersten Dateiblocks.
 
Whiz-zarD schrieb:
Letzendlich sind Endungen also doch für den Menschen.
nein auch für die maschine. was machst du sonst bitte bei einer text-datei? oder csv, xml, html, php, js, cpp, h, pas, asm, ...? alles sind textdateien, welche nur typische merkmale von etwas haben, wodurch man aber nicht auf ein einzelnes zu öffnendes programm schließen kann. txt kann genauso csv, xml, html, ... beinhalten. php kann mit css, js, html, xml gemischt sein. genauso kann c++ code alles mögliche enthalten. mit welchem programm soll nun geöffnet werden? genauso kann ich ein datenformat erschaffen, wo der typische header am ende der datei steht und die eigentlichen raw-daten am anfang. nun wäre das system aufgeschmissen, sich die infos aus den headern zu suchen.
 
Zurück
Oben