Thema: Delphi Bytes im Word drehen

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#3

AW: Bytes im Word drehen

  Alt 24. Nov 2014, 15:20
Die x86-Architektur speichert Integer und seine Derivate (so auch Word) im LSB-Format. Das bedeutet, daß das am wenigsten signifikate Byte (LSB) als erstes kommt. Somit wird die Byte-Sequenz $FF,$D8 als ein Word $D8FF interpretiert. Analog gilt das natürlich auch für größere Integer-Typen.

Du musst bei der Angabe der Word-Werte in der case-Anweisung dies berücksichtigen. Eine Bitmap-Datei beginnt z.B. mit der Byte-Sequenz $42, $4D (was übrigens den ASCII-Buchstaben "BM" entspricht). Wenn du diese zwei Bytes als Word interpretierst, dann wird das als $4D42 = 19778 eingelesen. Eigentlich musst du somit gar nichts an deinem Code ändern. Die case-Anweisung sollte funktionieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat