漢字前面加個u就可以把漢字轉換成unicode編碼格式
In [1]: s = u"學海無涯,回頭是岸"
In [2]: s
Out[2]: u'\u5b66\u6d77\u65e0\u6daf\uff0c\u56de\u5934\u662f\u5cb8'
In [3]: print s
學海無涯,回頭是岸
1.在爬蟲抓取網頁信息時常需要將類似 '\u82e6\u6d77\u65e0\u6daf\u56de\u5934\u662f\u5cb8' 轉換為中文,實際上這是unicode的中文編碼。可用以下方法轉換(注意一個前面有u一個沒有):
In [1]: s = '\u82e6\u6d77\u65e0\u6daf\u56de\u5934\u662f\u5cb8'
In [2]: print s.decode("unicode_escape")
苦海無涯回頭是岸
In [3]:
或者:
In [7]: s = u'\u82e6\u6d77\u65e0\u6daf\u56de\u5934\u662f\u5cb8'
In [8]: print s
苦海無涯回頭是岸
2.在python2的字符編碼問題時常會遇到“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)”的編碼錯誤。
可以用以下方法通常可以解決:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
此方法是將Python2的默認編碼ASCII改為 utf-8。但此方法不是一勞永逸的,可能會使一些代碼的行為變得怪異