如何捕获unicodedecodeerror python?

时间:2013-01-08 13:33:22

标签: python

如何捕获python中遇到的unicodedecode错误并打印出有问题的字符串是什么?

即。 “...无法解码位置8中的字节XXXX:无效的起始字节”

1 个答案:

答案 0 :(得分:3)

这应该让你开始:

try:
    s = '\xFEFEF'
    u = s.decode('utf8')
except UnicodeDecodeError as e:
    for p in dir(e):
        if not p.startswith('_'):
            print '%s=%r' % (p, getattr(e, p))

结果:

args=('utf8', '\xfeFEF', 0, 1, 'invalid start byte')
encoding='utf8'
end=1
message=''
object='\xfeFEF'
reason='invalid start byte'
start=0