获取此十六进制数的值的方法

时间:2010-08-17 08:08:34

标签: python binary

import binascii

f = open('file.ext', 'rb')
print binascii.hexlify(f.read(4))
f.close()

打印:

  

84010100

我知道我必须从这些数据中检索十六进制数184。 怎么能在python中完成?我之前使用过struct模块,但我不知道它的小端,big..whatever ..如何使用struct从这个数字中获得184?

1 个答案:

答案 0 :(得分:2)

>>> x = b'\x84\x01\x01\x00'
>>> import struct
>>> struct.unpack_from('<h', x)
(388,)
>>> map(hex, struct.unpack_from('<h', x))
['0x184']

<表示小端,h表示读取16位整数(“short”)。详情位于package doc