Python 十六进制地址从字符串打包

标签 python hex pack

这可以正常工作:

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/

相关文章:

ruby - 包括鞋中鞋套餐

c - 用 C/Python 打包和解包

python - 使用 twistd 和 python 日志记录到文件

python - psycopg2.Error 没有被 python try/except block 捕获

c - 找到设置位并使用 32 位将它们移到最左边的位置

python - 这是什么类型的数据,如何使用 python 将其转换为人类可读的形式?

PHP - 将小端十六进制转换为大端十六进制

python - 使用不需要互联网的 Python 进行逼真的文本转语音?

python - 函数装饰器中的名称重整

binary - 这个 6 字节(48 位)数字是什么类型...... float ?整数?