python中的字符编码将'u2019'替换为'

时间:2014-09-19 01:14:27

标签: python python-2.7 unicode character-encoding lxml

我尝试了多种方法将其编码为最终结果"BACK RUSHIN'",其中最重要的字符是右撇号'

我想要一种方法来使用Python提供的一些内置函数来获得最终结果,其中普通字符串和unicode字符串之间没有区别。

这是我用来检索字符串的代码:str(unicode(etree.tostring(root.xpath('path')[0],method='text', encoding='utf-8'),errors='ignore')).strip()

结果为:'BACK RUSHIN'缺少撇号'

另一种方式是:root.xpath('path/text()')

结果是:u'BACK RUSHIN\u2019'在python中。

最后,如果我尝试:u'BACK RUSHIN\u2019'.encode('ascii', 'replace')

结果是:'BACK RUSHIN?'

请不要替换函数,我想利用pythons编解码库。 也没有打印字符串,因为它被保存在变量中。

由于

1 个答案:

答案 0 :(得分:7)

>>> import unidecode
>>> unidecode.unidecode(u'BACK RUSHIN\u2019')
"BACK RUSHIN'"

unidecode