如何从python中的二进制文件读取32位二进制数?

时间:2018-11-21 21:12:32

标签: python

我的数据文件包含一系列32位二进制“数字”。

我之所以说“数字”,是因为32个1/0定义了要拾取的数据传感器的类型,时间,传感器的类型等。所以数字的十进制值对我来说无关紧要。特别是,某些(大多数)数据将以最多5个零开头。

我只需要在python中读取这些文件,获取包含每个32位数字的列表的方法,然后我需要对其进行一些处理(删除一些事件)并将其重写为一个新文件。

有人可以帮我吗?到目前为止,我已经尝试了以下方法,但是应该与我们编码的时间数据相对应的数字似乎是不可能的。

with open(lm_file, mode='rb') as file: 
    bytes_read = file.read(struct.calcsize("I"))
    while bytes_read:
        idList = struct.unpack("I", bytes_read)[0]
        idList=bin(idList)
        print(idList)
        bytes_read = file.read(struct.calcsize("=l"))

hexdump的输出:

00000000  80 0a 83 4d ba a5 80 0c  c0 00 7b 42 cb 90 0f 41  |...M......{B...A|
00000010  98 c9 9c 53 4c 15 35 52  d8 54 f7 0a 5d 87 16 4d  |...SL.5R.T..]..M|
00000020  89 6a 3f 04 f2 eb c4 4a  e2 37 e6 08 23 5e ca 06  |.j?....J.7..#^..|

0 个答案:

没有答案