我正在尝试生成包含数据长度的包头。 例如,如果数据长度为5,则十六进制字符串应为: ' 0500' 如果它是100,那么它应该是: ' 6400' 如果1050: ' 1A40' 等等。 在python中有一个很好的方法吗? 非常感谢你。
答案 0 :(得分:1)
使用struct.pack('<H', ...)
以小端格式将int打包为字符串中的2字节无符号short。然后使用binascii.hexlify
返回字符串的十六进制表示形式:
import struct
import binascii
binascii.hexlify(struct.pack('<H', 1050))
# '1a04'
binascii.hexlify(struct.pack('<H', 100))
# '6400'
binascii.hexlify(struct.pack('<H', 5))
# '0500'