Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: record mit Word-Feldern ohne MSB/LSB Vertauschung aus Datei lesen

  Alt 18. Jun 2013, 07:50
Die Datei schein von einem Big-Endian Rechner/Programm erstellt worden zu sein. Ich bin mir nicht 100% sicher, ob es auch in der Intel-Welt Software gibt, die die Daten als Big-Endian schreibt (könnte sein, wg. Kompatibilität zu anderen Systemen, z.B. Mac) Wer ist der Ersteller der Dateien?

...denn ich möchte...darauf verzichten nur Bytes zu lesen und ggf. die Werte selber zusammenzubauen.
Egal, wie Du es anstellst: Irgendwer wird die Daten dann doch zusammenbauen. Bei SO haben sie diverse Lösungsansätze.

Wenn die Dateien wirklich von einem Big Endian kommen, ist die Welt in Ordnung, dein 'Problem' also 'as designed'. Lies die Daten ein und vertausche die Bytes.

Delphi-Quellcode:
MyRecord.Read(myStream);
MyRecord.Word1 := WordSwap(MyRecord.Word1);
MyRecord.Word2 := WordSwap(MyRecord.Word2);
MyRecord.DWord1 := DWordSwap(MyRecord.DWord1);
...

Geändert von Furtbichler (18. Jun 2013 um 07:52 Uhr) Grund: Link korrigiert
  Mit Zitat antworten Zitat