[Python-Dev] [Python-ideas] PEP 3101 (Advanced string formatting) base 36 integer presentation type

Antoine Pitrou solipsis at pitrou.net
Sat Oct 8 17:27:16 CEST 2011


On Sat, 08 Oct 2011 17:14:55 +0200
Victor Stinner <victor.stinner at haypocalc.com> wrote:

> Le 08/10/2011 15:03, Antoine Pitrou a écrit :
> > On Fri, 07 Oct 2011 21:14:44 -0600
> > Jeffrey<jss.bulk at gmail.com>  wrote:
> >> I would like to suggest adding an integer presentation type for base 36
> >> to PEP 3101.  I can't imagine that it would be a whole lot more
> >> difficult than the existing types.  Python's built-in long integers
> >> provide a nice way to prototype and demonstrate cryptographic
> >> operations, especially with asymmetric cryptography.  (Alice and Bob
> >> stuff.)  Built-in functions provide modular reduction, modular
> >> exponentiation, and lots of nice number theory stuff that supports a
> >> variety of protocols and algorithms.  A frequent need is to represent a
> >> message by a number.  Base 36 provides a way to represent all 26 letters
> >> in a semi-standard way, and simple string transformations can
> >> efficiently make zeros into spaces or vice versa.
> >
> > Why base 36 rather than, say, base 64 or even base 80?
> 
> Base 85 is the most efficient base to format IPv6 addresses!
> 
> http://tools.ietf.org/html/rfc1924

Indeed, I meant base 85.
There's a specification that doesn't rely on long integer division:
http://en.wikipedia.org/wiki/Ascii85

Regards

Antoine.




More information about the Python-Dev mailing list