Michael Yanowitz wrote: > Why is it 8 bytes in the third case and why would it be only 6 bytes > in the last case if it is 8 in the previous?
>From TFM: """ Native size and alignment are determined using the C compiler's sizeof expression. This is always combined with native byte order. Standard size and alignment are as follows: no alignment is required for any type (so you have to use pad bytes); short is 2 bytes; int and long are 4 bytes; long long (__int64 on Windows) is 8 bytes; float and double are 32-bit and 64-bit IEEE floating point numbers, respectively """ See this how to achieve the desired results (on my system at least): >>> print struct.calcsize("I") 4 >>> print struct.calcsize("H") 2 >>> print struct.calcsize("HI") 8 >>> print struct.calcsize("=HI") 6 >>> print struct.calcsize("=IH") 6 >>> Regards, Diez -- http://mail.python.org/mailman/listinfo/python-list