Terry J. Reedy <[EMAIL PROTECTED]> added the comment: You tested on 2.5.2 but marked this for 2.6. 3.0 gives >>> int('\0') Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> int('\0') UnicodeEncodeError: 'decimal' codec can't encode character '\x00' in position 0: invalid decimal Unicode string
>>> int('\1') Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> int('\1') ValueError: invalid literal for int() with base 10: '\x01' >>> int('\1',256) Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> int('\1',256) ValueError: int() arg 2 must be >= 2 and <= 36 The 3.0 doc on string inputs "A string must be a base-radix integer literal optionally preceded by ‘+’ or ‘-‘ (with no space in between) and optionally surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with ‘a’ to ‘z’ (or ‘A’ to ‘Z’) having values 10 to 35." in much clearer than the 2.6 doc "If the argument is a string, it must contain a possibly signed decimal number representable as a Python integer, possibly embedded in whitespace." Even so, I do not see any inconsistency. ---------- nosy: +tjreedy _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue4221> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com