Einzelnen Beitrag anzeigen

Benutzerbild von almisoft
almisoft

Registriert seit: 14. Feb 2007
Ort: Berlin
40 Beiträge
 
Delphi 7 Professional
 
#1

Datum aus Binärdatei (bplist) auslesen

  Alt 31. Mai 2010, 20:52
Ich habe eine bplist-Datei (binäre property list), in der ein Datum (8 byte float, big-endian bytes) abgelegt ist.
Also habe ich die 8 Bytes in ein Double eingelesen und nach Little-Endian gewandelt. Leider kommt ein ungültiges Datum heraus.

Hier ein Beispiel:

Ich habe zunächst eine plist (Textformat) erstellt und
<date>2000-01-02T16:00:00Z</date>, also der 2.1.2000 um 16:00 hineingeschrieben.
Dann die plist als bplist (Binärformat) gespeichert.

Ich lese dann 8 Bytes aus:
C1 7E 05 28 00 00 00 00

Geswappt nach Little-Endian also:
00 00 00 00 28 05 7E C1

Delphi macht daraus die Double-Zahl -31478400, was dem Datum 00.00.0000 00:00:00 entspricht.

Wenn ich das Swappen weglasse, kommt 3,31739769705295E-315 heraus, was 1899-12-30 00:00:00 bedeutet.

Hat jemand eine Idee?
Alexander Miehlke
Alexander Miehlke
Wer Schreibfehler findet, darf sie behalten
  Mit Zitat antworten Zitat