python unicode轉中文及轉換默認編碼


漢字前面加個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。但此方法不是一勞永逸的,可能會使一些代碼的行為變得怪異


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM