这可以正常工作:
packed = struct.pack('<L',0x7c023a4f)
这不会:
address = '0x7c023a4f'
packed = struct.pack('<L',address)
我该如何进行这项工作? 我尝试了 binascii 库中的很多方法,但我似乎无法弄清楚。
最佳答案
您可以在打包之前使用 literal_eval
将字符串评估为十六进制数字:
from ast import literal_eval
address = '0x7c023a4f'
packed = struct.pack('<L', literal_eval(address))
packed
# 'O:\x02|'
关于Python 十六进制地址从字符串打包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41322650/