1
我正在尝试生成包含数据长度的数据包头。 例如,如果数据长度是5,十六进制字符串假设是: “0500” 如果它是100,它假设是: “6400” 如果1050: “1A40” 等。 有没有一种很好的方式来做到这一点在python中? 非常感谢。python中的网络数据包长度
我正在尝试生成包含数据长度的数据包头。 例如,如果数据长度是5,十六进制字符串假设是: “0500” 如果它是100,它假设是: “6400” 如果1050: “1A40” 等。 有没有一种很好的方式来做到这一点在python中? 非常感谢。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'
非常感谢! 有没有办法做到这一点,如果我想要的东西: 5:'05000000' 100:'64000000' 和甚至更大的数字比无符号短? – adif
使用'binascii.hexlify(struct.pack('
unutbu