Cannot round-trip UCS-2 with unpaired surrogates using UTF-16 and surrogateescape
Offen
Dieses Issue hat noch niemand übernommen.
docs
topic-unicode
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 36k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
The following Python code throws a UnicodeEncodeError:
b'\xdc\xff'.decode('UTF-16BE', 'surrogateescape').encode('UTF-16', 'surrogateescape')
I would expect that it would return b'\xdc\xff' instead.
Your environment
- CPython versions tested on: 3.10.4 from Fedora 35 repository
- Operating system and architecture: Fedora 35 on x86-64
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Führe zunächst das gemeldete UTF-16BE-Dekodierungs- und UTF-16-Kodierungs-Snippet auf der angegebenen CPython-Version aus und verfolge anschließend das relevante Kodierungs- und surrogateescape-Verhalten. Erledigt ist dies, wenn die Bytes b'\xdc\xff' ohne einen UnicodeEncodeError round-trippen und das Verhalten anhand der gemeldeten Erwartung überprüft wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- internationalization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 35/100