[Python-de] Encoding von Datei rausbekommen

Andreas Jung lists at zopyx.com
Di Apr 10 08:59:37 CEST 2012


Kurze Antwort: es gibt keinen verlässlichen Weg das Encoding von Dateien zu
bestimmen.
Genau wie 'chardet' ist man auf Heuristiken angewiesen, um eine
verlässliche Entscheidung
treffen zu können. Es gibt keinen Algorithmus, um das Encoding 100%-ig
bestimmen zu können.
Die einzig halbwegs verlässige Methode beim Umgang mit UTF kodierten
Dateien ist die *Verwendung*
und *Auswertung* des BOM. Ob eine Datei in ISO-8859-1 (alter Standard) vs.
ISO-8859-15 (neu, mit EUR
Zeichen) - ist nur durch eine (statistische Analyse) möglich. Insofern ist
es besser wenn man weiss
mit welchen Encodings die Dateien geschrieben wurden. Raten von Encodings
bringt i.A. nur Ärger

-aj


Am 10. April 2012 08:49 schrieb Michael Weber <michael.weber at fh-stralsund.de
>:

> 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 at 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
> ______________________________**_________________
> python-de maillist  -  python-de at python.org
> http://mail.python.org/**mailman/listinfo/python-de<http://mail.python.org/mailman/listinfo/python-de>
>
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://mail.python.org/pipermail/python-de/attachments/20120410/1d529305/attachment.html>


Mehr Informationen über die Mailingliste python-de