我正在尝试生成一个数据包 header ,其中包含数据长度。 例如,如果数据长度为5,则十六进制字符串假设为: ‘0500’ 如果是 100,则应该是: ‘6400’ 如果 1050: '1a40' 等等。 有没有一个好的方法可以在 python 中做到这一点? 非常感谢。
最佳答案
使用 struct.pack('<H', ...)
将 int 打包为小端格式字符串中的 2 字节无符号短整型。然后使用 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'
关于python - python中的网络数据包长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31541922/