Nicht-utf8-Datei in einem python3-Skript verarbeiten.
Verfasst: Mittwoch 23. März 2022, 17:26
Hallo.
Standardkodierung in Python 3 für die Skriptdateien ist doch utf8.
Ebenso ist Vorgabe, dass Dateien die in einem Skript eingelesen und bearbeitet
werden sollen, ebenfalls in utf-8 kodiert sind.
Ich habe nun einige Fälle, und diese dürften auch bei anderen Leuten häufiger
vorkommen, dass diese einzulesenden Dateien in latin9 (ISO-8859-9) vorliegen.
Innerhalb des Skriptes sind diese Dateien nun auf Fehler zu prüfen,
beispielsweise Gültigkeit von Mandatsreferenzen oder auch die Schreibweise
ausländischer Namen mit allen Umlaut-, Apostroph- und ähnlichen Fällen.
Würdet Ihr nun vor dem Einlesen die ISO-8859-9 (latin9) in ISO-10646 (utf8)
umwandeln, würdet ihr das mittels decode/encode im Skript machen, oder gibt es
in Python die Möglichkeit mit den originalen ISO-8859-9-Zeichenketten zu
arbeiten? Nach meinem Gefühl ist es am effizientesten die Datei vorher mittels
iconv auf Betriebssystemebene umzuwandeln, weil mir das Ganze dann leichter
wartbar erscheint. Utf8 ist doch so etwas wie eine Obermenge von Latin9,
sodass man die korrigierte Datei wieder in Latin9 rückverwandeln kann,
vorausgesetzt die korrigierten Zeichen haben eine Entsprechung in Latin9.
Wie ist Eure Meinung dazu?
Viele Grüße
rjackmuc
Standardkodierung in Python 3 für die Skriptdateien ist doch utf8.
Ebenso ist Vorgabe, dass Dateien die in einem Skript eingelesen und bearbeitet
werden sollen, ebenfalls in utf-8 kodiert sind.
Ich habe nun einige Fälle, und diese dürften auch bei anderen Leuten häufiger
vorkommen, dass diese einzulesenden Dateien in latin9 (ISO-8859-9) vorliegen.
Innerhalb des Skriptes sind diese Dateien nun auf Fehler zu prüfen,
beispielsweise Gültigkeit von Mandatsreferenzen oder auch die Schreibweise
ausländischer Namen mit allen Umlaut-, Apostroph- und ähnlichen Fällen.
Würdet Ihr nun vor dem Einlesen die ISO-8859-9 (latin9) in ISO-10646 (utf8)
umwandeln, würdet ihr das mittels decode/encode im Skript machen, oder gibt es
in Python die Möglichkeit mit den originalen ISO-8859-9-Zeichenketten zu
arbeiten? Nach meinem Gefühl ist es am effizientesten die Datei vorher mittels
iconv auf Betriebssystemebene umzuwandeln, weil mir das Ganze dann leichter
wartbar erscheint. Utf8 ist doch so etwas wie eine Obermenge von Latin9,
sodass man die korrigierte Datei wieder in Latin9 rückverwandeln kann,
vorausgesetzt die korrigierten Zeichen haben eine Entsprechung in Latin9.
Wie ist Eure Meinung dazu?
Viele Grüße
rjackmuc