在UnicodeError上显示字符串

时间:2013-09-16 08:19:52

标签: python unicode

如果您收到unicode错误,有时很难找到问题的根源。这个字符串来自哪里?

有没有办法显示字符串(或错误字符串的一部分)?

1 个答案:

答案 0 :(得分:4)

您可以使用此代码段:

try:
    html = html.decode(encoding)
except UnicodeError as exc:
    re_raise_unicode_error_with_hint(exc)

def re_raise_unicode_error_with_hint(exc):
    hint = exc.object[max(exc.start - 15, 0):min(exc.end + 15, len(exc.object))]
    raise exc.__class__(exc.encoding, exc.object, exc.start, exc.end, 'hint: %r' % hint)

通过这种方式,您可以看到之前的15个字符和字符串的unicode错误后的15个字符。