最近想用jython写一个simulator,用到struct.pack(),结果发现了里面的一个bug.代码如下:

import struct
dataunits = struct.pack('!HHIIIBBHQ', 0x20, 0x1c, 0xffffffff, 0x00000000, 0x0233, 0x05, 0x00, 0x0000, 0x1234)
print len(dataunits)
dataunits = struct.pack('!HHIIIBBH', 0x20, 0x1c, 0xffffffff, 0x00000000, 0x0233, 0x05, 0x00, 0x0000)
print len(dataunits)
s = struct.pack('!Q', 0x1234)
print len(s)
在jython2.2.1下面, 结果是: 32, 20, 8, 在python下面,结果是: 28, 20, 8.发到jython的mail list里面,已经有人确定并k到bug里面去了.