我尝试了多种方法将其编码为最终结果"BACK RUSHIN'",其中最重要的字符是右撇号'。
"BACK RUSHIN'"
'
我想要一种使用某些Python内置函数达到最终结果的方法,在这些函数中,普通字符串和unicode字符串之间没有区别。
这是我用来检索字符串的代码: str(unicode(etree.tostring(root.xpath('path')[0],method='text', encoding='utf-8'),errors='ignore')).strip()
str(unicode(etree.tostring(root.xpath('path')[0],method='text', encoding='utf-8'),errors='ignore')).strip()
结果是:缺少'BACK RUSHIN'撇号'。
'BACK RUSHIN'
另一种方法是: root.xpath('path/text()')
root.xpath('path/text()')
结果是:u'BACK RUSHIN\u2019'在python中。
u'BACK RUSHIN\u2019'
最后,如果我尝试: u'BACK RUSHIN\u2019'.encode('ascii', 'replace')
u'BACK RUSHIN\u2019'.encode('ascii', 'replace')
结果是: 'BACK RUSHIN?'
'BACK RUSHIN?'
请不要替换函数,我想使用pythons编解码器库。同样不打印字符串,因为它被保存在变量中。
谢谢
>>> import unidecode >>> unidecode.unidecode(u'BACK RUSHIN\u2019') "BACK RUSHIN'"
统一码