gpt4 book ai didi

python - 如何将十六进制列表附加到一个十六进制数字

转载 作者:行者123 更新时间:2023-11-30 23:27:14 25 4
gpt4 key购买 nike

我有一个像这样的十六进制字节字符串列表

['0xe1', '0xd7', '0x7', '0x0']

(从二进制文件读取)

我想翻转列表并将列表附加在一起以创建一个十六进制数字,

['0x07D7E1']

如何将列表格式化为这种格式?

最佳答案

将十六进制数字连接成一个字符串:

'0x' + ''.join([format(int(c, 16), '02X') for c in reversed(inputlist)])

这确实在输出中明确包含 00 字节:

>>> inputlist = ['0xe1', '0xd7', '0x7', '0x0']
>>> '0x' + ''.join([format(int(c, 16), '02X') for c in reversed(inputlist)])
'0x0007D7E1'

但是,我会考虑更好地阅读您的二进制文件格式;例如,使用 struct 直接从文件中将字节解压为正确字节顺序的正确整数:

>>> import struct
>>> bytes = ''.join([chr(int(c, 16)) for c in inputlist])
>>> value = struct.unpack('<I', bytes)[0]
>>> print hex(value)
0x7d7e1

关于python - 如何将十六进制列表附加到一个十六进制数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204142/

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