1. 程式人生 > >Python2 之漢字編碼為unicode問題(即類似\xc3\xa4)

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()