Python3 änderte das Unicode-Verhalten, um Surrogat-Paare abzulehnen, während Python2 nicht.SurrogateScape in python2
Es ist eine Frage here
Aber es liefert keine Lösung, wie Ersatzpaare in python2 zu entfernen oder wie Surrogat Flucht zu tun.
Python3 Beispiel:
>>> a = b'\xed\xa0\xbd\xe4\xbd\xa0\xe5\xa5\xbd'
>>> a.decode('utf-8', 'surrogateescape')
'\udced\udca0\udcbd你好'
>>> a.decode('utf-8', 'ignore')
'你好'
Die '\ feste \ xa0 \ xbd' ist hier nicht die richtige utf-8 Zeichen. Und ich möchte sie ignorieren oder ihnen entkommen.
Ist es möglich, in python2 dasselbe zu tun?
Was genau möchten Sie tun? Es ist nicht klar. Geben Sie ein Beispiel an. –
@MarkTolonen Ich habe ein Beispiel hinzugefügt. – lxyu
Ich sehe keinen besseren Weg als die Nachbearbeitung des decodierten Unicode-Objekts, um alle Zeichen zwischen '\ udc00' und '\ udfff' zu entfernen. –