有時(shí)我們會(huì)碰到類似下面這樣的 unicode 字符串:
u'/xe4/xbd/xa0/xe5/xa5/xbd'
這明顯不是一個(gè)正確的 unicode 字符串,可能是在哪個(gè)地方轉(zhuǎn)碼轉(zhuǎn)錯(cuò)了。
我們要想得到正確的 unicode 字符串首先就必須先將這個(gè)字符串轉(zhuǎn)成非 unicode 字符串, 然后再進(jìn)行解碼。按照普通的辦法進(jìn)行 encode 肯定是不行的,因?yàn)檫@不是一個(gè)正確的 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 提供了一個(gè)特殊的編碼( raw_unicode_escape )用來(lái)處理這種情況: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方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選