python去掉 unicode 字符串前面的u方法
有时我们会碰到类似下面这样的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]:printu'\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]:printu'\u4f60\u597d' 你好
以上这篇python去掉unicode字符串前面的u方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。