让我们举一个简单的变量 -Python中的Unicode编码解码问题
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'方法,并且bytestrings有一个'.encode',这是一个无意义的。 – bgusach