1

バイトに続いてロングをパックしたい。私のバッファーには 9 つの要素しか含めることができません。それらをバッファにパックできないのはなぜですか?

>>> from struct import *
>>> calcsize('qB')
9
>>> calcsize('Bq')
12

返し方が違います。どうしてこれなの?

ところで、私はPython 2.7.3を使用しています。

4

1 に答える 1

1

2 番目の例でstruct.calcsizeは、long long が 4 バイト境界で開始できるように、バイトの後に 3 バイトのパディングを想定しています。

パディングを指定しない場合、それらは同等であることがわかります。

>>> calcsize ('Bq')
12
>>> calcsize('=Bq')
9
于 2013-05-15T18:36:27.053 に答える