我想创建一个5字节的结构,然后发送如下所示:
import struct
struct.pack("?i", True, 0x01020304)
>>b'\x01\x00\x00\x00\x04\x03\x02\x01'但是正如您所看到的,由于某种原因,get的1字节布尔值被3个字节填充或填充为一个整数。我想要的结果是:
>>b'\x01\x04\x03\x02\x01'我如何做到这一点?为什么我的解决方案不起作用?根据the documentation的说法,它似乎被正确使用了。
发布于 2019-02-26 00:44:04
我的问题通过对this question的回答得到了解决。格式字符串开头的=字符告诉pack方法不对齐数据,而是生成恰好具有指定长度的字节字符串。格式字符是否允许对齐是在this chapter中指定的。不知何故我错过了这一点。
https://stackoverflow.com/questions/54867573
复制相似问题