我正在制作一个基本的服务器/客户端程序,我正在使用Python制作客户端。我必须在发送之前格式化消息。第一个字段用于消息长度。我可以计算消息长度,但我需要将值存储在我的bytearray的前两个字节中。如果消息长度小于256,则它应该只有一个字节。如何将数字强制为2个字节,而不只是在前面添加0x00?
答案 0 :(得分:2)
使用struct
module。例如,要将整数打包成网络顺序(big-endian)中的无符号双字节值,您可以这样做:
> my_value = 1234
> packed_bytes = struct.pack('>H', my_value)
> print packed_bytes
'\x04\xd2'