[Python-Dev] Use of %c and Py_UNICODE

M.-A. Lemburg mal@lemburg.com
Fri, 15 Dec 2000 23:24:34 +0100


"A.M. Kuchling" wrote:
> 
> unicodeobject.c contains this code:
> 
>                 PyErr_Format(PyExc_ValueError,
>                             "unsupported format character '%c' (0x%x) "
>                             "at index %i",
>                             c, c, fmt -1 - PyUnicode_AS_UNICODE(uformat));
> 
> c is a Py_UNICODE; applying C's %c to it only takes the lowest 8 bits,
> so '%\u3000' % 1 results in an error message containing "'\000'
> (0x3000)".  Is this worth fixing?  I'd say no, since the hex value is
> more useful for Unicode strings anyway.  (I still wanted to mention
> this little buglet, since I just touched this bit of code.)

Why would you want to fix it ? Format characters will always
be ASCII and thus 7-bit -- theres really no need to expand the
set of possibilities beyond 8 bits ;-)

-- 
Marc-Andre Lemburg
______________________________________________________________________
Company:                                        http://www.egenix.com/
Consulting:                                    http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/