我有一个名为elm的lxml.objectify.StringElement,它是:
u'\u266b\u266b\u266b\u266b\u266b\u266b\u266bHow do you get a job on the Yahoo staff when you are older?\u266b\u266b\u266b\u266b\u266b?'
我想把它变成str:
str(elm)
但是我收到了这个错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
答案 0 :(得分:0)
我遇到了类似的情况,这样的事情对我有用(我现在无法找到代码):
a=u'\u266b\u266b\u266b\u266b\u266b\u266b\u266bHow do you get a job on the Yahoo staff when you are older?\u266b\u266b\u266b\u266b\u266b?'
print bytes(a.encode('utf-32'))
但是我用你的字符串得到了这个:
��k&k&k&k&k&k&k&How do you get a job on the Yahoo staff when you are older?k&k&k&k&k&?
哈!我知道这可能对你没有帮助,但也许这将是朝着正确方向迈出的一步。顺便说一下,你可能想尝试使用Python 3+,它在unicode上要好得多。
答案 1 :(得分:0)
您不需要任何转换,默认情况下文件内容是unicode。只需删除str
即可。所有字符串方法都适用于unicode,因此拆分就可以了。
如果您想要从某个对象中取出unicode,请尝试使用unicode
代替str