,还要考虑有的c或c++编译器使用了字节对齐,通常是以4个字节为单位的32位系统,故而struct根据本地机器字节顺序转换.可以用格式中的第一个字符来改变对齐方式.定义如下:
CharacterByte...6 c = 20
7 d = 42.56
8
9 #打包
10 binStr = struct.pack("5s6sif", a, b, c, d)11 printlen(binStr)12 binStr2...= struct.pack("i", c)13
14 #解包
15 e, f, g, h = struct.unpack("5s6sif", binStr)16 printe, f, g, h17... 18 #注意unpack返回的是tuple,如果不按规定格式书写,则返回值将改变类型
19 i, = struct.unpack("i", c)20 printi21 i = struct.unpack...("i", c)22 printi23
24 #计算转换字节长度
25 print struct.calcsize("5s6sif")