【发布时间】:2016-03-08 21:19:23
【问题描述】:
我有一个脚本,可以通过 lxml 获取一些数据并解析它。
最初它具有lxml.etree._ElementUnicodeResult 类型,但我们可以轻松地将其转换为unicode。
有一些危险的时刻。
此 Unicode 字符串包含字符串的原始字节。尽管它的类型为 unicode,但它保留了通常 python str 的原始字节。
label
Out[53]: u'\xd0\x92\xd0\xbb\xd0\xb0\xd0\xb4\xd0\xb8\xd0\xbc\xd0\xb8\xd1\x80'
有没有办法将这个unicode 原始字节字符串实际转换为原始字节(str 在 python 2 上键入)。
我可以轻松地将其复制粘贴到交互式控制台并将其实际转换为 unicode 点:
'\xd0\x92\xd0\xbb\xd0\xb0\xd0\xb4\xd0\xb8\xd0\xbc\xd0\xb8\xd1\x80'
Out[54]: '\xd0\x92\xd0\xbb\xd0\xb0\xd0\xb4\xd0\xb8\xd0\xbc\xd0\xb8\xd1\x80'
'\xd0\x92\xd0\xbb\xd0\xb0\xd0\xb4\xd0\xb8\xd0\xbc\xd0\xb8\xd1\x80'.decode('utf-8')
Out[55]: u'\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440'
【问题讨论】:
-
如果
label最终具有该值,则您的代码中一定存在错误。显示产生它的实际代码。
标签: python python-2.7 unicode encoding