【发布时间】:2015-05-19 10:33:16
【问题描述】:
让我们取一个简单的变量 -
var = u' \u2013 2'
让我们尝试解码它 -
var.decode('utf-8')
我收到以下错误 -
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 7: ordinal not in range(128)
让我们尝试编码它 -
var.encode('utf-8')
我收到以下错误 -
'ascii' codec can't decode byte 0xe2 in position 8: ordinal not in range(128)
一个解决方案是做 -
sys.setdefaultencoding('utf-8')
让我知道,其他人在做什么?
【问题讨论】:
-
你在哪里运行这个?
-
你只是不明白
unicode和bytes之间的区别。然而,Python 27 并没有做到这一点:unicode 对象有一个.decode方法,而字节串有一个.encode,这是毫无意义的。
标签: python string unicode utf-8