我想将python字符串(utf-8)转换为unicode。
word = "3——5" # —— is u'\u2013', not a english symbol
print type(word).__name__ # output is str
print repr(word) # output is '3\xe2\x80\x935'
print word.decode("utf-8", errors='ignore')
我收到了这个错误
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 1: ordinal not in range(128)
但是当我改变时
word.decode("utf-8", errors='ignore')
到
word.decode(errors='ignore')
错误消失。
为什么呢? word是一个utf-8字符串,为什么我可以指定utf-8来解码?