Registriert seit: 14. Feb 2007
Ort: Berlin
40 Beiträge
Delphi 7 Professional
|
Datum aus Binärdatei (bplist) auslesen
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
|