Cannot round-trip UCS-2 with unpaired surrogates using UTF-16 and surrogateescape
Aperta
Nessuno ha ancora preso questa issue.
docs
topic-unicode
- Lingua principale
- Python
- Stelle
- 77.2k
- Fork
- 36k
- Merge medio
- 1g 9h
- PR unite (30g)
- 558
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia eseguendo lo snippet di decodifica UTF-16BE e codifica UTF-16 riportato sulla versione di CPython indicata, quindi traccia il comportamento rilevante della codifica e di surrogateescape. Il lavoro è completato quando i byte b'\xdc\xff' effettuano il round-trip senza un UnicodeEncodeError e il comportamento è stato verificato rispetto all'aspettativa riportata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- internationalization
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 35/100