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