In unserer Anwendung erhalten wir Textdateien ( .txt
, .csv
usw.) aus verschiedenen Quellen. Beim Lesen enthalten diese Dateien manchmal Müll, da die Dateien in einer anderen / unbekannten Codepage erstellt wurden.
Gibt es eine Möglichkeit, die Codepage einer Textdatei (automatisch) zu erkennen?
Die detectEncodingFromByteOrderMarks
auf dem StreamReader
Konstruktor, arbeiten für UTF8
und andere Unicode markiert Dateien, aber ich bin auf der Suche nach einer Möglichkeit , Code - Seiten zu erkennen, wie ibm850
, windows1252
.
Vielen Dank für Ihre Antworten, das habe ich getan.
Die Dateien, die wir erhalten, stammen von Endbenutzern und haben keine Ahnung von Codepages. Die Empfänger sind auch Endbenutzer. Mittlerweile wissen sie Folgendes über Codepages: Codepages existieren und sind ärgerlich.
Lösung:
- Öffnen Sie die empfangene Datei im Editor und sehen Sie sich einen verstümmelten Text an. Wenn jemand François oder so heißt, können Sie dies mit Ihrer menschlichen Intelligenz erraten.
- Ich habe eine kleine App erstellt, mit der der Benutzer die Datei öffnen und einen Text eingeben kann, von dem der Benutzer weiß, dass er in der Datei angezeigt wird, wenn die richtige Codepage verwendet wird.
- Durchlaufen Sie alle Codepages und zeigen Sie diejenigen an, die eine Lösung mit dem vom Benutzer bereitgestellten Text bieten.
- Wenn mehr als eine Codepage angezeigt wird, bitten Sie den Benutzer, mehr Text anzugeben.