1

Pythonで発生したunicodedecodeエラーをどのようにキャッチし、問題のある文字列を出力しますか?

つまり、「...位置8のバイトXXXXをデコードできません:無効な開始バイト」

4

1 に答える 1

5

これで始められるはずです:

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
于 2013-01-08T13:38:16.170 に答える