„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie konvertiert man Ersatzpaare in Python in normale Zeichenfolgen?

Wie konvertiert man Ersatzpaare in Python in normale Zeichenfolgen?

Veröffentlicht am 21.12.2024
Durchsuche:440

How to Convert Surrogate Pairs to Normal Strings in Python?

Konvertieren von Ersatzzeichenpaaren in normale Zeichenfolgen in Python

Diese Frage sucht nach einer Methode, um eine Python-Unicode-Zeichenfolge, die Ersatzzeichenpaare enthält, in eine Standardzeichenfolge umzuwandeln Darstellung. Ziel ist es, ein verständliches Unicode-Zeichen oder ein standardisiertes Hexadezimalformat zu erhalten.

Das bereitgestellte Code-Snippet stellt einen Python-String dar, der ein Ersatzzeichenpaar enthält, das ein Emoji darstellt:

emoji = "This is \ud83d\ude4f, an emoji."

Um das Problem zu lösen, ist es wichtig, zu unterscheiden zwischen Literal-Ersatzpaarzeichenfolgen in einer JSON-Datei auf der Festplatte (sechs Zeichen) und Einzelzeichen-Ersatzzeichenpaarzeichenfolgen im Speicher (ein Zeichen).

Wenn die Zeichenfolge ein Einzelzeichen-Ersatzzeichenpaar ist, das im Python-Quellcode gefunden wird (wie im bereitgestellten Beispiel) weist dies auf einen potenziellen Fehler im Upstream hin. Wenn dies auftritt und nicht behoben werden kann, kann der Surrogatepass-Fehlerhandler verwendet werden:

"\ud83d\ude4f".encode('utf-16', 'surrogatepass').decode('utf-16')

Dies gibt das entsprechende Unicode-Zeichen aus, dargestellt als Fragezeichen (?):

'?'

Im Fall von literalen Ersatzzeichenfolgen in einer JSON-Datei auf der Festplatte sollte das Ersatzpaar nach dem Laden der JSON-Daten nicht vorhanden sein:

ascii(json.loads(r'"\ud83d\ude4f"'))

Dies wird ausgegeben das standardisierte Hexadezimalformat für das Unicode-Zeichen:

'\U0001f64f'

Das Verständnis dieser Unterscheidung ist für den Umgang mit Ersatzzeichenpaaren in Python und deren Konvertierung in ein verwendbares Format von entscheidender Bedeutung.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3