这里是代码:
为什么在使用.decode()时会出现UnicodeEncodeError错误?
为什么在使用'ignore'时会引发任何错误?
>>> z = u'\u2022'.decode('utf-8', 'ignore')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2022' in position 0: ordinal not in range(256)
为什么在使用.decode()时会出现UnicodeEncodeError错误?
为什么在使用'ignore'时会引发任何错误?
AttributeError: 'str' object has no attribute 'decode'
。这是Python 3的优点之一:它强制区分字符串/Unicode对象和字节对象。您可以使用decode
将字符串转换为字节对象,使用encode
将字节对象转换为字符串,并且更容易理解decode
和encode
之间的区别。 - Flimm