[Tutor] Encoding
Giorgio
anothernetfellow at gmail.com
Thu Mar 4 15:13:44 CET 2010
Thankyou.
You have clarificated many things in those emails. Due to high numbers of
messages i won't quote everything.
So, as i can clearly understand reading last spir's post, python gets
strings encoded by my editor and to convert them to unicode i need to
specify HOW they're encoded. This makes clear this example:
c = "giorgio è giorgio"
d = c.decode("utf8")
I create an utf8 string, and to convert it into unicode i need to tell
python that the string IS utf8.
Just don't understand why in my Windows XP computer in Python IDLE doesn't
work:
>>> ================================ RESTART
================================
>>>
>>> c = "giorgio è giorgio"
>>> c
'giorgio \xe8 giorgio'
>>> d = c.decode("utf8")
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
d = c.decode("utf8")
File "C:\Python26\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 8-10:
invalid data
>>>
In IDLE options i've set encoding to UTF8 of course. I also have some linux
servers where i can try the IDLE but Putty doesn't seem to support UTF8.
But, let's continue:
In that example i've specified UTF8 in the decode method. If i hadn't set it
python would have taken the one i specified in the second line of the file,
right?
As last point, i can't understand why this works:
>>> a = u"giorgio è giorgio"
>>> a
u'giorgio \xe8 giorgio'
And this one doesn't:
>>> a = "giorgio è giorgio"
>>> b = unicode(a)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
b = unicode(a)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 8:
ordinal not in range(128)
>>>
The second doesn't work because i have not told python how the string was
encoded. But in the first too i haven't specified the encoding O_O.
Thankyou again for your help.
Giorgio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100304/ee33b2fb/attachment.html>
More information about the Tutor
mailing list