Lesen mehrerer bytes in Hexadezimal-Datei mit python

Habe ich eine hex-Datei, die angezeigt wird, wie unten:-

00000000 AA AA 11 FF EC FF E7 3E FA DA D8 78 39 75 89 4E
00000010 FD FD BF E5 FF DD FF AA E9 78 67 84 90 E4 87 83
00000020 9F E7 80 FD FE 73 75 78 93 47 58 93 EE 33 33 3F

Will ich Lesen 3. und 4. byte. Tausche diese zwei bytes und speichern Sie in einer Variablen. Für e.g, ich will sparen 0xFF11 (nach byteswap) in der variable "num"

Dies ist, was ich versucht habe:
Ich lese diese zwei bytes nacheinander

data=open('xyz.bin','rb').read()
num1=data[2]
num2=data[3]
num1,num2=num2,num1
num= num1*100+num2
print(num)

Nun das problem ist die variable num integer-Wert, und ich habe keine Ahnung, wie man hex-in.
Ich bin hier hängengeblieben und nicht in der Lage, weiter zu gehen. Jede Hilfe wäre willkommen.

PS: ich bin ganz neu bei python.

Ändern Sie einfach die vorletzte Zeile zu num = (num1 << 8) + num2 oder nicht, tauschen Sie die bytes und verwenden num = (num2 << 8) + num3.
wenn Sie möchten, Lesen Sie viele zahlen aus einer Datei, könnten Sie array.array. Siehe Verbessern Sie die Geschwindigkeit von Lesen und konvertieren von Binär-Datei mit python

InformationsquelleAutor user3469616 | 2014-03-27

Schreibe einen Kommentar