-
print struct.calcsize('@HIHIIH65sII')
-
print struct.calcsize('!HIHIIH65sII')
-
print struct.calcsize('>HIHIIH65sII')
-
print struct.calcsize(')
上面的代码在我 i7 870(windows 7 64位)的机器上输出是
96
91
91
91
之前我以为我pack后不是大端就是小端,后来发包服务器一直不接受,找半天没发现我这有什么问题......
我指定大端发去的不对,我以为不指定大端就是小端,结果发过去还不对
今天才发现不指定大小端会有这种问题!!!!!所以以后无论大小端都要指定一次- - orz
不然pack以后c结构的大小会导致问题
Character
|
Byte order
|
Size and alignment
|
@
|
native
|
native
|
=
|
native
|
standard
|
<
|
little-endian
|
standard
|
>
|
big-endian
|
standard
|
!
|
network (= big-endian)
|
standard
|
指定大端和小端后size那里才是standard(标准),不然的话可能会因为本地机器导致改变c结构的size
阅读(3831) | 评论(0) | 转发(0) |