3

我必须获取字节数组并将其发送到套接字。

结构看起来像: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
4

1 回答 1

7

使用struct模块

>>> import struct
>>> id, first, second = 5, 42, 58
>>> struct.pack('>bhb', id, first, second)
b'\x05\x00*:'

您可能想弄清楚您的数据是 a) 小端还是大端,b) 有符号还是无符号;上面的示例使用大端排序和有符号值。

结果(在 python 3 中)是一个bytes对象。

于 2012-08-22T12:30:53.240 回答