[Python-Dev] PEP 292-related: why string substitution is not the same operation as data formatting
Skip Montanaro
skip@pobox.com
Sun, 23 Jun 2002 14:28:20 -0500
Lalo> These strings may be the result of running some non-string objects
Lalo> trough str(foo) - but, we are making no assumptions about these
Lalo> objects. Just that str(foo) is somehow meaningful. And, to my
Lalo> knowledge, there are no python objects for which str(foo) doesn't
Lalo> work.
Unicode objects can't always be passed to str():
>>> str(u"abc")
'abc'
>>> p = u'Scr\xfcj MacDuhk'
>>> str(p)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeError: ASCII encoding error: ordinal not in range(128)
(My default encoding is "ascii".)
You need to encode Unicode objects using the appropriate charset, which may
not always be the default.
Skip