0

我正在制作一个基本的服务器/客户端程序,我正在用 Python 制作客户端。我必须在发送之前格式化消息。第一个字段用于消息长度。我可以计算消息长度,但我需要将值存储在我的 bytearray 的前两个字节中。如果消息长度小于 256,它应该只有一个字节。如何在不将 0x00 附加到前面的情况下强制数字为 2 个字节?

4

1 回答 1

2

使用struct模块。例如,要将整数按网络顺序(big-endian)打包成无符号的两字节值,您可以这样做:

> my_value = 1234
> packed_bytes = struct.pack('>H', my_value)
> print packed_bytes
'\x04\xd2'
于 2013-10-10T04:57:29.300 回答