讓我們舉一個簡單的變量 -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