Unicode エラーが発生した場合、問題の原因を突き止めるのが難しい場合があります。この文字列はどこから来たのですか?
文字列 (またはバグのある文字列の一部) を表示する方法はありますか?
次のスニペットを使用できます。
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)
このようにして、文字列の Unicode エラーの前に 15 文字、後に 15 文字が表示されます。