<div dir="ltr">Does anybody have any more use cases, ideas or suggestions? I'm getting the feeling this suggestion is +0 to most people and +1 for the rest. I'm pretty new to these mailing lists so does that mean a yes or a no?<div>
<br></div><div><br><div class="gmail_quote">On Mon, Aug 31, 2009 at 6:47 PM, MRAB <span dir="ltr"><<a href="mailto:python@mrabarnett.plus.com" target="_blank">python@mrabarnett.plus.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>Masklinn wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 31 Aug 2009, at 15:00 , Nick Coghlan wrote:<br>
Yuvgoog Greenle wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I believe int(s, base) needs an inverse function to allow string<br>
representation with different bases. An example use case is 'hashing' a<br>
counter like video ID's on youtube, you could use a regular int<br>
internally and publish a shorter base-62 id<br>
for links.<br>
<br>
This subject was discussed 2.5 years ago:<br>
<a href="http://mail.python.org/pipermail/python-dev/2006-January/059789.html" target="_blank">http://mail.python.org/pipermail/python-dev/2006-January/059789.html</a><br>
<br>
I opened a feature request ticket:<br>
<a href="http://bugs.python.org/issue6783" target="_blank">http://bugs.python.org/issue6783</a><br>
<br>
Some of the questions that remain:<br>
1. Whether this should be a method for int or a regular function in a<br>
standard library module like math.<br>
2. What should the method/function be called? (base_convert, radix, etc)<br>
<br>
What do you guys think?<br>
</blockquote>
<br>
This has been coming up for years and always gets bogged down in a<br>
spelling argument (a method on int, a function in the math module and an<br>
update to the str.format mini language would be the current contenders).<br>
<br>
However, most of the actual real use cases for bases between 2 and 36<br>
were dealt with by the addition of binary and octal output to string<br>
formatting so the impetus to do anything about it is now a lot lower.<br>
<br>
As far as bases between 37 and 62 go, that would involve first getting<br>
agreement on extending int() to handle those bases by allowing case<br>
sensitive digit parsing. Presumably that would use string lexical<br>
ordering so that int('a', 37) > int('A', 37) and int('b', 37) would<br>
raise an exception.<br>
<br>
That would only be intuitive to someone that knows how ASCII based<br>
alphanumeric ordering works though.<br>
</blockquote></blockquote>
<br></div></div>
ASCII? Surely it should be Unicode! :-)<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Or it could be handled via a translation table (needed both ways of course) mapping n indexes to n characters (with n the base you're working with), defaulting to something sane.<br>
<br>
</blockquote></div>
The default could cover only bases 2 to 36. Any base > 36 would require<br>
a user-supplied translation table.<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Though I'm not sure this is of much interest really: even Erlang (which provides pretty good base conversion tools: it supports literal integers of any base between 2 and 36) doesn't natively support bases beyond 36. A library would probably be better for those more conflictual (or less intuitive) ranges.<br>


<br>
</blockquote></div>
It could permit a dict as the translation table when 'decoding' so that<br>
both 'A' and 'a' could be mapped to 10, if necessary.<div><div></div><div><br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank">Python-ideas@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-ideas" target="_blank">http://mail.python.org/mailman/listinfo/python-ideas</a><br>
</div></div></blockquote></div><br></div></div>