mein allererster Tag mit Python.
Ich möchte nach einer Trace-Datei filtern, die von C generiert wurde. Jeder Doppel von C wird in der Datei von formatiert zwei hexadezimale Strings, die 32 Bit des 64-fachen repräsentieren.
z.B. 1234567890.3 (C doppelt)
Inside-Datei:
Wie kann ich es analysieren und kombinieren, um mit einem Python-Float weiter zu arbeiten?
Vielen Dank im Voraus
Sie können struct
verwenden, indem Sie den 'd' Modifikator für 'double' verwenden:
Passen Sie auf, in welcher Reihenfolge Sie die Doubles anhängen, das obige geht von einer Big-Endian-Maschine aus. Außerdem habe ich 0x
entfernt, da die Funktion decode
dies nicht erwartet.
edit: Wenn Sie Python 3 verwenden, müssen Sie bytes.fromhex
anstelle von ''.decode('hex')
verwenden.
Nur um eine Alternative zu geben (das obige ist eine sehr schöne Lösung):
%Vor%Tags und Links python string floating-point double hex