Encoding von Datei rausbekommen

10/04/2012 - 08:49 von Michael Weber | Report spam
Guten Morgen werte Mitstreiter,

ich hab da mal ne Frage. Ich denke, dass dieses Thema bereits vielfach
und sehr ausdauernd beredet wurde und vielleicht wird dieses Thema
bereits gehasst. Man weiß es nicht, daher jetzt meine Frage.

Ausgangslage: ich habe Textdateien, die unter Windows bzw. Linux
erstellt werden. Nun habe ich durch testen herausbekommen, dass seitens
Linux z.b. Dateien mit UTF-8 erstellt werden. Gleichzeitig ist es auch
möglich, dass de_DE@euro verwendet wird (Gentoo sei dank). Und Windows
macht dann iso-8859-1.

Gut, ich denke mal, die Erkenntnisse haben viele schon gehabt.

Nun folgendes. Ich möchte gerne beim Öffnen der Datei mit codecs.open
das korrekte Encoding angeben. Zum Ermitteln des gesuchten Encoding habe
ich mich einfach mit chardet auseinandergesetzt und das dann halt auch
genommen. Nun habe ich z.B. vernommen, dass das scheinbar nicht so gern
gesehen ist und man kann dabei ja auch mal das falsche ermitteln (so ist
es mir passiert: bei iso-8859-1 wird iso-8859-2 detektiert).

Und jetzt endlich die Frage: Wie würdet ihr das machen? Ein Shellaufruf
und dann mit "file -ib <DATEI>" vielleicht? Oder gibt es da was
schöneres, eleganteres und auch sinnvolleres??

Gruß und herzlichsten Dank
Michael
 

Lesen sie die antworten

#1 Michael Weber
10/04/2012 - 11:00 | Warnen spam
Mahlzeit,

ich bin selber gerade schmerzlicher weise zur Erkenntnis gekommen, dass
chardet nicht wirklich sinnvoll ist. Gerade wurde ein ISO-8859-1 als
EUC-KR-Encoding angesehen. Da kommt dann natürlich ausgesprochener Müll
bei raus. Aber gut.

Zumindest weiß ich jetzt, was ich nicht nehme.

Für Hinweise bin ich jederzeit offen.

Grüße
Michael

Ähnliche fragen