我正在编写一个程序来摄取一些xml,但不幸的是,在字符集方面有一些不可避免的错误格式,xml被标记为utf-8,但我不确定我可以信任。我很乐意忽略错误,但由于某种原因,我希望工作的方法不起作用并抛出错误。这是我从utf-8标记的xml文件中复制的一个字符,错误是:
# -*- coding: utf-8 -*-
foo = ' '
print foo.encode('utf-8', errors='ignore')
-
Traceback (most recent call last):
File "test.py", line 4, in <module>
print foo.encode('utf-8', errors='ignore')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 0: ordinal not in range(128)
具体来说,我从很多空格字符中得到错误而我无法诊断问题,我也似乎无法让ord()
处理这个神秘人物以找出它是什么我所以有点难过。
我正在使用Python 2.7.2
更新:
我在这里粘贴的角色被转换为空格,这是一个粘贴的
答案 0 :(得分:1)
您可能希望将字符转换为ASCII
unicode(foo, 'ascii', 'ignore')
如果没有,这里是如何解码而没有错误
unicode(foo, 'utf-8', 'ignore')
答案 1 :(得分:0)
foo
已经在utf-8中,因为它是一个字节字符串,你已经声明了这种编码。
您的意思是foo.decode('utf-8')
。