在python中使用字节

时间:2012-08-22 12:26:14

标签: python bytearray

我必须得到字节数组并将其发送到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

1 个答案:

答案 0 :(得分:7)

使用struct module

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

您可能想知道您的数据是a)是小端还是大端,b)是签名还是未签名;上面的例子使用big-endian排序和签名值。

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