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


一、 

 在爬蟲抓取網頁信息時常需要將類似"\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8"轉換為中文,實際上這是unicode的中文編碼。可用以下方法轉換:

1、

1 >>> s = u'\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8'
2 >>> print s 3 人生苦短,py是岸

2、

1 >>> s = r'\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8'
2 >>> s = s.decode('unicode_escape') 3 >>> print s 4 人生苦短,py是岸

 

二、

  另外,在python2的字符編碼問題時常會遇到“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)”的編碼錯誤。

而用以下方法通常可以解決:

1 import sys 2 reload(sys) 3 sys.setdefaultencoding('utf-8')

  此方法是將Python2的默認編碼ASCII改為 utf-8。但此方法不是一勞永逸的,可能會使一些代碼的行為變得怪異。

  可以參考該連接:http://blog.ernest.me/post/python-setdefaultencoding-unicode-bytes


免責聲明!

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



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