[Python-Dev] Accepting PEP 3154 for 3.4?

Tim Peters tim.peters at gmail.com
Tue Nov 19 02:06:05 CET 2013

>>> - first byte: bits 7-5: N (= frame size bytes length - 1)
>>> - first byte: bits 4-0: first 5 bits of frame size
>>> - remaning N bytes: remaining bits of frame size

>> I'm unclear on how that would work for, e.g., encoding 40 =
>> 0b000101000.  That has 6 significant bits.  Would you store 0 in the
>> leading byte and 40 in the second byte?  That would work.

> Yeah, I haven't decided whether it would be big-endian or
> little-endian. It doesn't matter much. big-endian sounds a bit easier
> to decode and encode (no bit shifts needed), it's also less consistent
> with the rest of the pickle opcodes.

As you've told me, the framing layer is beneath the opcode layer, so
what opcodes do is irrelevant ;-)  Big-endian would be my choice
(easier (en)(de)coding, both via software and via eyeball when staring
at dumps);.

More information about the Python-Dev mailing list