s1 = "hello"
s2 = s1.encode("utf-8")

s1 = "an accented 'e': \xc3\xa9"
s2 = s1.encode("utf-8")

The last line produces the error:

---
Traceback (most recent call last):
  File "test1.py", line 6, in ?
    s2 = s1.encode("utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position
17: ordinal not in range(128)
---

The error is a "decode" error, and as far as I can tell, decoding
happens when you convert a regular string to a unicode string.  So, is
there an implicit conversion taking place from s1 to a unicode string
before encode() is called?  By what mechanism?

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to