Wie kann ich die Kodierung / Codepage einer Textdatei erkennen?

In unserer Anwendung, erhalten wir text-Dateien ( .txt , .csv usw.) aus diversen Quellen. Beim Lesen, diese Dateien enthalten manchmal Müll, da die Dateien, in denen erstellt, die in eine andere/unbekannte codepage.

Gibt es eine Möglichkeit, (automatisch) erkennt den Zeichensatz einer text-Datei?

Den detectEncodingFromByteOrderMarks auf der StreamReader Konstruktor, arbeitet für UTF8 und andere unicode markiert Dateien, aber ich bin auf der Suche nach einem Weg, um zu erkennen, code-Seiten, wie ibm850windows1252.


Dank für Eure Antworten, dies ist, was ich getan habe.

Dateien, die wir erhalten, sind von der end-Benutzer, Sie haben nicht einen Anhaltspunkt über codepages. Die Receiver sind auch end-Anwendern jetzt das ist, was Sie wissen über Zeichensätze: Zeichentabellen existieren, und Sie sind ärgerlich.

Lösung:

  • Öffnen Sie die empfangene Datei in Editor, Blick auf einen verstümmelten text. Wenn jemand namens François oder so, mit eurer menschlichen Intelligenz, die Sie erraten können.
  • Ich habe eine kleine Anwendung, die Benutzer verwenden können, um die Datei zu öffnen, und geben Sie einen text ein, der Benutzer kennt es erscheint in der Datei, wenn der richtige Zeichensatz verwendet wird.
  • Schleife über alle Zeichensätze und zeigen diejenigen, die Sie geben, eine Lösung mit dem Nutzer zur Verfügung gestellten text.
  • Wenn mehr als eine codepage erscheint, bitten Sie den Benutzer, geben Sie mehr text.

InformationsquelleAutor der Frage GvS | 2008-09-18

Schreibe einen Kommentar