Issue 32648: Wrong byte count with struct (original) (raw)

Created on 2018-01-24 10:52 by Róbert Lexmann, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (4)
msg310584 - (view) Author: Róbert Lexmann (Róbert Lexmann) Date: 2018-01-24 10:52
struct.pack('id',a,b) returns 16 bytes, should return 4+8=12 bytes. struct.calcsize('id') also returns 16.
msg310585 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-24 11:00
It's not a bug. Please read the section about padding. >>> struct.calcsize('id') 16 >>> struct.calcsize('>id') 12
msg310589 - (view) Author: Róbert Lexmann (Róbert Lexmann) Date: 2018-01-24 13:04
Thanks for a fast response. If I may ask, what is it good for to encode 'id' in 16 bytes and 'di' in 12? Rob On 01/24/2018 12:00 PM, Christian Heimes wrote: > Christian Heimes <lists@cheimes.de> added the comment: > > It's not a bug. Please read the section about padding. > >>>> struct.calcsize('id') > 16 >>>> struct.calcsize('>id') > 12 > > ---------- > nosy: +christian.heimes > resolution: -> not a bug > stage: -> resolved > status: open -> closed > > _______________________________________ > Python tracker <report@bugs.python.org> > <https://bugs.python.org/issue32648> > _______________________________________
msg310590 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-24 13:18
Hardware restrictions, some CPUs require types to be aligned in certain ways. Doubles must be aligned by multiple of 8 bytes. Please read https://en.wikipedia.org/wiki/Data_structure_alignment and use the Python users mailing list for further questions.
History
Date User Action Args
2022-04-11 14:58:57 admin set github: 76829
2018-01-24 13🔞46 christian.heimes set messages: +
2018-01-24 13:04:15 Róbert Lexmann set messages: +
2018-01-24 11:00:51 christian.heimes set status: open -> closednosy: + christian.heimesmessages: + resolution: not a bugstage: resolved
2018-01-24 10:52:36 Róbert Lexmann create