После the manual about struct.calcsizeЧто действительно вычисляет struct.calcsize (python)?
truct.calcsize(fmt)¶
Return the size of the struct (and hence of the string) corresponding to the given format
Но я не понимаю, почему struct.calcsize ('ЯВА') не struct.calcsize ('ч'), плюс два раза по struct.calcsize ('л'). Смотри ниже. Есть идеи?
In [216]: struct.calcsize('hll')
Out[216]: 24
In [217]: struct.calcsize('h')
Out[217]: 2
In [218]: struct.calcsize('l')
Out[218]: 8
«По умолчанию результат упаковки данной C-структуры включает в себя байты с байтами, чтобы поддерживать правильное выравнивание для задействованных типов C. *« Я не понимаю, как это работает точно, но это, вероятно, является частью объяснение. Возможно, 'l' всегда также нуждается в 8 байтах для выравнивания, когда он упакован с другими полями, но когда он один может быть опущен. –