Python2 之漢字編碼爲unicode問題(即類似\xc3\xa4)

Python2中編碼相關的問題很是讓人蛋疼,特別是中文字符。
比如本文所述的中文網頁GBK編碼的詭異問題。

現象

例如:盲錄職氓聭聵,其實網頁裏面正常的應該是會員

分析

接着上面的例子,會員這部分亂碼通過repr()函數求值得到如下結果

\xc3\xa4\xc2\xbc\xc2\x9a\xc3\xa5\xc2\x91\xc2\x98

使用type()函數求值得到的結果爲unicode

eval(repr())出來值爲

盲錄職氓聭聵

通過查表上述6個漢字對應
c3a4 c2bc c29a c3a5 c291 c298

而上面內容對應的UTF-8值就是會員

解決方法

相當詭異的是本身是unicode編碼,卻被當作GBK系列來解碼,結果導致亂碼。因此將這些字符先編碼再解決解決問題。
encode('raw_unicode_escape').decode()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章