最近想用jython寫一個simulator,用到struct.pack(),結(jié)果發(fā)現(xiàn)了里面的一個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下面, 結(jié)果是: 32, 20, 8, 在python下面,結(jié)果是: 28, 20, 8.發(fā)到j(luò)ython的mail list里面,已經(jīng)有人確定并k到bug里面去了.