This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tim.peters
Recipients
Date 2001-10-13.19:07:29
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=31435

I don't buy the argument that pickle is "complicated", as 
you weren't going to document the parts of the marshal 
format you didn't care about either.  A subset of pickle is 
just as easy to document and implement across languages as 
a subset of marshal, but with the key benefit that the 
pickle format is stable across releases.  So if you want a 
structure packer, pickle is the obvious choice; it just 
lacks an efficient (in time and space) scheme for storing 
longs now.  And unlike marshal, it isn't a dead end when 
you decide your app needs something fancier -- pickle 
already handles just about everything that *can* be 
pickled, and is designed to be extensible to user-defined 
types too, so you can painlessly expand your view of what 
the "interesting" subset is as your ambitions grow.

I don't really know what you mean by "BER".  The ANS.1 std

<http://www.itu.int/ITU-
T/studygroups/com17/languages/X.690_1297.pdf>

section 8.3 is quite clear that all 8 bits are used in each 
byte for integer representations -- it's a giant 2's-comp 
integer, with a variable-length length prefix, redundant 
sign bytes are forbidden, and there's nothing special about 
the last byte.  I agree with Martin that ANS.1 BER is as 
compact a standardized bigint representation as there is.
History
Date User Action Args
2007-08-23 16:01:34adminlinkissue467384 messages
2007-08-23 16:01:34admincreate