[issue7189] struct.calcsize returns strange size
Mark Dickinson
report at bugs.python.org
Fri Oct 23 12:37:09 CEST 2009
Mark Dickinson <dickinsm at gmail.com> added the comment:
I think the calcsize result is correct here. With the native struct
format, padding is included in the struct.
In the second case, there are three bytes of padding after the 'cc' and
before the 'i'. This keeps the 'i' aligned on a 4-byte boundary. If you
look at the results of struct.pack, you can see the padding explicitly:
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import struct
>>> struct.pack('ihhi35scci', 123456789, 10000, 10000, 321456789,
"abcdefghijklmnopqrstuvwxyz123456789", '+', '*', 231456789)
"\x15\xcd[\x07\x10'\x10'\x95\n)\x13abcdefghijklmnopqrstuvwxyz123456789+*\x
00\x00\x00\x15\xc0\xcb\r"
----------
nosy: +mark.dickinson
resolution: -> invalid
status: open -> closed
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue7189>
_______________________________________
More information about the Python-bugs-list
mailing list