Odd unicode() behavior

M

maport

The behavior of the unicode built-in function when given a unicode
string seems a little odd to me:
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: decoding Unicode is not supported

I don't see why providing the encoding should make the function behave
differently when given a Unicode string. Surely unicode(s) ought to
bahave exactly the same as unicode(s,sys.getdefaultencoding())?

Any opinions?

Mike.
 
F

Fredrik Lundh

The behavior of the unicode built-in function when given a unicode
string seems a little odd to me:

Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: decoding Unicode is not supported

I don't see why providing the encoding should make the function behave
differently when given a Unicode string. Surely unicode(s) ought to
bahave exactly the same as unicode(s,sys.getdefaultencoding())?

nope.

if you omit the encoding argument, unicode() behaves pretty much like str(),
using either the __unicode__ method or __str__/__repr__ + decoding to get
a Unicode string.

see the language reference for details, e.g:

http://pyref.infogami.com/unicode

</F>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,280
Latest member
BGBBrock56

Latest Threads

Top