[Python-Dev] Accepting PEP 3154 for 3.4? (original) (raw)

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


[Antoine]

- 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

[Tim]

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.

[Antoine]

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