有人知道为什么打包后的“c”(字符)在第一种情况下使用1个字节,在第二种情况下使用2个字节,在第三种情况下使用8个字节?在
>>> from struct import pack
>>> pack('c','A');
'A'
>>> pack('ch','A',1);
'A\x00\x01\x00'
>>> pack('cQ','A',1);
'A\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
如何强制字符总是取1字节?在
Tags:
由于字节对齐而出现问题。要打包而不对齐,请使用“=”符号:
https://docs.python.org/2/library/struct.html#format-strings参考7.3.2.1
相关问题 更多 >
编程相关推荐