我必须得到字节数组并将其发送到socket。
结构如下:1字节+2字节+2字节。
第一个字节是数字'5',第二个字节应该从变量first
获取,第二个字节应该从变量second
获取。在python中执行此操作的正确方法是什么?
id = 5 # Fill as 1 byte
first = 42 # Fill as 2 bytes
second = 58 # The same as first
答案 0 :(得分:7)
>>> import struct
>>> id, first, second = 5, 42, 58
>>> struct.pack('>bhb', id, first, second)
b'\x05\x00*:'
您可能想知道您的数据是a)是小端还是大端,b)是签名还是未签名;上面的例子使用big-endian排序和签名值。
结果(在python 3中)是bytes
对象。