[Python-ideas] Add a builtin method to 'int' for base/radix conversion
Gregory P. Smith
greg at krypto.org
Mon Aug 31 08:53:12 CEST 2009
On Sun, Aug 30, 2009 at 9:55 PM, Carl Johnson <
cmjohnson.mailinglist at gmail.com> wrote:
> Doing some testing with int, I found:
> ValueError: int() base must be >= 2 and <= 36
> That resolves a lot of questions (it has to be case insensitive), but
> takes away ability to do the motivating use case: writing out video
> ids in Base-62.
If there are widely accepted and used non-controversial standard character
-> digit mappings for bases greater than that I don't immediately see any
reasons not to support them for ints but I do not think we should go beyond
If someone wants base 256 they should use struct.pack() and beyond that I
expect to find people fighting over encoding schemes. ;)
Since this is the ideas list... Consider adding a digit character sequence
or map passed to the conversion function defining which characters map to
which digit number.
> On Sun, Aug 30, 2009 at 6:49 PM, Carl
> Johnson<cmjohnson.mailinglist at gmail.com> wrote:
> > How would it work for bases beyond 10? OK, so base-16 has a well known
> > encoding, but what about base-100? Base-16 is case insensitive, but
> > would Base-37 be case insensitive?…
> > ISTM that the common encodings of bin, oct, and hex are already
> > covered by built-in functions and for bases beyond that, you have
> > decide what system to use for encoding symbols that are out of range.
> > Do people really need trinary through septary that often? Is there a
> > single, best-practices way of doing base-1013? Feels like YAGNI to me,
> > but I could be wrong.
> > — Carl Johnson
> Python-ideas mailing list
> Python-ideas at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas