On Sun, Jun 23, 2002 at 02:28:20PM -0500, Skip Montanaro wrote:
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.
Valid point but completely unrelated to my argument - just s/str/unicode/ where necessary. '%s' already handles this:
'-%s-' % u'Scr\xfcj MacDuhk'
s, |alo +---- -- It doesn't bother me that people say things like "you'll never get anywhere with this attitude". In a few decades, it will make a good paragraph in my biography. You know, for a laugh. -- http://www.laranja.org/ mailto:email@example.com pgp key: http://www.laranja.org/pessoal/pgp