Zitat von
Reinhard Kern:
Zitat von
Neutral General:
Hi,
Ich habe ein Problem. Ich lese eine Datei aus in der die meisten Daten in Words gespeichert sind. Das Problem ist das die Words genau falschrum gespeichert sind. ...
Hallo,
in Wirklichkeit gibt es in Dateien garkeine Words. Es gibt nur Bytes und daraus zusammengesetzte kundenspezifische Daten, die muss nur das Programm verstehen, das sie auch geschrieben hat.
Im Speicher gibt es bekanntlich Big Endian und Little Endian-Systeme, aber das hat nicht direkt was mit deinem Problem zu tun, es ist nur relativ wahrscheinlich, dass eine Standardfunktion in der gleichen Weise schreibt wie die Daten im Speicher stehen, muss aber nicht so sein. Bei ausführbaren Daten (EXE) ist es aber so, sonst wären sie schlecht blockweise einzulesen.
Da Intel Little Endian ist (Low Byte zuerst) sind deine Daten auch nicht "falschherum", sofern das überhaupt eine sinnvolle Bewertung ist, und sofern sie überhaupt so in der Datei stehen - dass solltest du mal mit einem Hex Editor untersuchen.
Gruss Reinhard
Ja mir ist schon klar das es in Wirklichkeit keine Words in Dateien gibt. Aber in der Dateispezifikation von diesen 3D2 Dateien steht halt als was welche Daten aufgewasst werden sollten. Habe mir die Datei im Hex-Editor angeguckt sonst würde ich es ja nicht sagen können
Im Hexeditor sind die ersten beiden Bytes
$3D $02
In meinem Programm muss ich nachdem ich ausgelesen habe auf $023D testen damit ich true bekomme. Habe auch diese Datei mit einem anderen Programm geöffnet. Und das ich die Words umdrehn muss wurde mir bestätigt. Z.b. sagt mir das andere Programm das in der Datei 29 Meshes gespeichert sind. Wenn ich die Datei lade sind es angeblich 7424 Meshes. Drehe ich das Word um steht 29 drin
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."