Christian Kruse: (LINUX) Herausfinden, welches Format eine Datei hat?

Beitrag lesen

你好 Markus,

Mit einem Hex-Editor deiner Wahl ;) (khexedit kann ich empfehlen).

Ja du hast Recht. Damit kann ich es öffnen.

Ein Hex-Editor öffnet _jede_ Datei ;)

Allerdings ist mir das mit Hexadezimal-Code,.. usw etwas zu hoch :) Ich
habe eigentlich keine Ahnung (obwohl ich die gerne hätte), was ich damit
anfangen kann, aber trotzdem danke für den Tipp. Wie aber hat der Autor
ursprünglich diese Datei gespeichert?

Das, was du da siehst, ist die ganz normale Darstellung von
u_int16_t-Elementen, wie sie auch im Speicher vorliegen. Die sind direkt
vom Speicher auf die Festplatte geschrieben worden. Stell dir vor, du hast
die Zahl 65000. Der Computer rechnet im Binär-Syste, so dass sie dann so
dargestellt werden kann: 1111110111101000 oder auch verkürzt: 0xFDE8 (dabei
stehen zwei Hex-Ziffern für acht Binär-Ziffern bzw. eine Hex-Ziffer für vier
Binär-Ziffern). Im Computer hast du jetzt also zwei Speicherzellen mit
dem Inhalt 0xFD und 0xE8 (pro Speicherzelle 8 Bit). Das ist das, was du im
Hex-Editor idR siehst. Du musst jetzt also die ersten beiden Bytes nehmen
und aneinanderhängen: 0xFDE8. Damit hast du dann wieder die Orginal-Zahl.

Der Autor macht nichts anderes als Unsigned-16-Bit-Zahlen auf die
Festplatte zu schreiben und wieder einzulesen. Dadurch, dass er die
Umwandlung nach ASCII weglässt, weiss er immer, wie gross eine Einheit
ist (nämlich 16 Bit = 2 Byte beim PC).

Mit einem Hexeditor kann ich sie zwar öffnen, aber wie die Daten zu
interpretieren sind, verstehe ich leider nicht.

Das geht auch nur anhand einer Spec oder anhand des Sourcecodes. Ansonsten
kann man nur Vermutungen anstellen ;)

再见,
 克里斯蒂安