有時我們會碰到類似下面這樣的 unicode 字符串:
u'/xe4/xbd/xa0/xe5/xa5/xbd'
這明顯不是一個正確的 unicode 字符串,可能是在哪個地方轉碼轉錯了。
我們要想得到正確的 unicode 字符串首先就必須先將這個字符串轉成非 unicode 字符串, 然后再進行解碼。按照普通的辦法進行 encode 肯定是不行的,因為這不是一個正確的 unicode 字符串:
In [1]: u'/xe4/xbd/xa0/xe5/xa5/xbd'.encode('utf8')Out[1]: '/xc3/xa4/xc2/xbd/xc2/xa0/xc3/xa5/xc2/xa5/xc2/xbd'In [2]: print u'/xe4/xbd/xa0/xe5/xa5/xbd'.encode('utf8')盲陸聽氓樓陸那如何才能得到我們想要的 /xe4/xbd/xa0/xe5/xa5/xbd 呢?python 提供了一個特殊的編碼( raw_unicode_escape )用來處理這種情況:In [4]: u'/xe4/xbd/xa0/xe5/xa5/xbd'.encode('raw_unicode_escape')Out[4]: '/xe4/xbd/xa0/xe5/xa5/xbd'In [5]: u'/xe4/xbd/xa0/xe5/xa5/xbd'.encode('raw_unicode_escape').decode('utf8')Out[5]: u'/u4f60/u597d'In [7]: print u'/u4f60/u597d'你好
以上這篇python去掉 unicode 字符串前面的u方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答