Preserving Encoding When Piping Output in Python
When redirecting the standard output of a Python program through a pipe, the interpreter may incorrectly assume an encoding of None, leading to Unicode encoding errors. Um dieses Problem zu lösen, ist es wichtig, die Codierung explizit anzugeben.
Im Gegensatz zur Ausführung in einem Skript, bei dem Python automatisch an die Codierung des Terminals passt, erfordert Rohrleitungen eine manuelle Codierung. Eine übliche Praxis besteht darin, die Ausgabe mit 'UTF-8' zu codieren:
# -*- coding: utf-8 -*- print(u"åäö".encode('utf-8'))
Dies stellt sicher, dass die leitete Ausgabe mit der Unicode-Darstellung konsistent ist, unabhängig von der Codierung des Zielprogramms. codieren
arbeiten mit Daten mit Unicode
In diesem Fall wird die Eingabe aus ISO-8859-1 dekodiert, als Unicode verarbeitet und dann vor Ausgabe zu UTF-8 codiert.
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