[Python-Dev] unicode and str (original) (raw)

Neil Schemenauer nas at arctrix.com
Mon Aug 30 23:23:18 CEST 2004


On Mon, Aug 30, 2004 at 10:57:36PM +0200, "Martin v. L?wis" wrote:

It's what unicode() returns:

But unicode() will also return str, eg.

>>> class A:
...   def __str__(self): 
...     return u'\u1234'
... 
>>> unicode(A())
u'\u1234'

Why would I want to use unicode? Shouldn't we be heading to a world where str always returns unicode objects?

Now, say your class stores unicode character data. You could have unicode return a unicode object and have str encode it somehow and return a str. However, that seems like a horrible design to me. The class can't know what kind of encoding the caller expects.

Neil



More information about the Python-Dev mailing list