1
바이트를 패킹하고 long을 뒤에 넣고 싶습니다. 내 버퍼에는 9 개의 요소 만 포함될 수 있습니다. 왜 그들을 버퍼에 넣을 수 없습니까?파이썬 struct.pack()/calcsize()
>>> from struct import *
>>> calcsize('qB')
9
>>> calcsize('Bq')
12
이렇게 다른 결과가 반환됩니다. 왜 이런거야?
나는 파이썬 2.7.3을 사용하고 있습니다.
아하 : 당신이 패딩을 지정하지 않으면
, 당신은 그들이 동일 보자! 고마워, 네 말이 맞는 것 같아. 파이썬이 기본적으로 기본 크기를 사용할 수 없다는 것을 알지 못했습니다. – Jon
'struct'는 명시 적 바이트 순서를 지정하지 않는 한 네이티브 크기, 바이트 순서 및 정렬을 사용합니다.이 경우 표준 크기 및 정렬이 사용되지 않습니다. 자세한 내용은 [the docs] (http://docs.python.org/3.2/library/struct.html#byte-order-size-and-alignment)를 참조하십시오. – chepner