gpt4 book ai didi

python - 如何从二进制文件中获取整数值

转载 作者:行者123 更新时间:2023-11-30 22:36:21 26 4
gpt4 key购买 nike

我有一些文件,它们看起来像这样,带有十六进制/八进制转储:

十六进制转储文件:

0000000 0002 0000 0c3e 0000 0ac5 0000          
000000c

od文件:

0000000 000002 000000 006076 000000 005305 000000
0000014

我真的不知道这个“000002”和“0000014”有什么用,但是,我知道我需要这个“006076”和“005305”作为整数值,所以我在python2中这样做了:

hex(006076)
'0xc3e'

int(0xc3e)
3134

我真的不知道如何在 python2 中打开/并读取这个文件/值...

简单的打开/读取文件如下所示:

x = open("file", "rb")
x.read()
'\x02\x00\x00\x00>\x0c\x00\x00\xc5\n\x00\x00'

最佳答案

您想使用struct.unpack

>>> import struct
>>> struct.unpack("4x H 2x H 2x", '\x02\x00\x00\x00>\x0c\x00\x00\xc5\n\x00\x00')
(3134, 2757)

用作第一个参数的格式字符串告诉 unpack 忽略前 4 个字节,然后将接下来的两个字节解压缩为整数,忽略另外 2 个字节,解压缩另一个 2 字节整数,然后忽略最后 2 个字节。这假设字节字符串使用与机器默认相同的字节顺序;有关更多详细信息,请参阅 struct 模块的文档。

关于python - 如何从二进制文件中获取整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44202693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com