Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich beim Schreiben in eine Textdatei in Python die korrekte Anzeige von Unicode-Zeichen sicherstellen?

Wie kann ich beim Schreiben in eine Textdatei in Python die korrekte Anzeige von Unicode-Zeichen sicherstellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 12:57:29825Durchsuche

How Can I Ensure Correct Display of Unicode Characters When Writing to a Text File in Python?

Umgang mit Unicode-Zeichen beim Schreiben von Textdateien

Das Schreiben von Nicht-ASCII-Zeichen in Textdateien erfordert eine sorgfältige Überlegung der Zeichenkodierung. Die Frage untersucht die Verwendung von Unicode in der Datenverarbeitung und stößt beim Schreiben in eine Datei auf einen Codierungsfehler.

Die Teillösung ersetzt den problematischen Codec durch die Open-Funktion von Python, die eine Datei standardmäßig im Binärmodus öffnet. Dadurch wird zwar der Dekodierungsfehler behoben, es entsteht jedoch ein weiteres Problem: Die Zeichen werden in der Textdatei nicht korrekt angezeigt.

Um dieses Problem zu beheben, ist es wichtig, während des gesamten Prozesses ausschließlich Unicode zu verwenden. Durch die Konvertierung von Daten in Unicode-Objekte beim Abruf und deren Codierung nur bei Bedarf wird eine ordnungsgemäße Zeichendarstellung sichergestellt.

Der folgende modifizierte Python-Code veranschaulicht diesen Ansatz:

<code class="python">import unicodedata

row = [unicodedata.normalize('NFC', x.strip()) if x is not None else u'' for x in row]
all_html = row[0] + "<br/>" + row[1]
with open('out.txt', 'wb') as f:
    f.write(all_html.encode("utf-8"))</code>

Durch die Normalisierung von Unicode in die NFD-Form wird Der Text kann plattformübergreifend konsistent als NFC dargestellt werden, was eine korrekte Anzeige im Texteditor gewährleistet.

Das obige ist der detaillierte Inhalt vonWie kann ich beim Schreiben in eine Textdatei in Python die korrekte Anzeige von Unicode-Zeichen sicherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn