Python3 は Unicode の動作を変更して、サロゲート ペアを拒否しましたが、python2 は拒否しませんでした。
ここで質問があります
しかし、python2 でサロゲート ペアを削除する方法やサロゲート エスケープを行う方法についての解決策は提供されません。
Python3 の例:
>>> a = b'\xed\xa0\xbd\xe4\xbd\xa0\xe5\xa5\xbd'
>>> a.decode('utf-8', 'surrogateescape')
'\udced\udca0\udcbd你好'
>>> a.decode('utf-8', 'ignore')
'你好'
ここの「\xed\xa0\xbd」は適切な utf-8 文字ではありません。そして、私はそれらを無視するか、それらを回避したい.
Python2で同じことをすることは可能ですか?