Textdateien und Encoding heraus finden

23/07/2009 - 10:08 von Martin Frank | Report spam
Hallo zusammen,
ich verarbeite eine Menge Textdateien von verschiedenen Programmen und
Plattformen.
Und nun kommt das übliche Problem mit den Umlauten.
Solange ich weiss, in welcher Form die Datei ankommt, habe ich kein Problem
sie zu lesen (zb: daten=file.readAllLines(pfad,system.text.encoding(850))).

Gibt es irgendwie was in der Art von 'X=GetEncodingFromFile(pfad)' ?

Grüße
Martin Frank
 

Lesen sie die antworten

#1 Elmar Boye
23/07/2009 - 10:34 | Warnen spam
Hallo Martin,

Martin Frank schrieb:
ich verarbeite eine Menge Textdateien von verschiedenen
Programmen und Plattformen.
Und nun kommt das übliche Problem mit den Umlauten.
Solange ich weiss, in welcher Form die Datei ankommt, habe ich kein Problem
sie zu lesen (zb: daten=file.readAllLines(pfad,system.text.encoding(850))).

Gibt es irgendwie was in der Art von 'X=GetEncodingFromFile(pfad)' ?



Leider nein, und deswegen gibt es so hàufig Buchstabensalat ;-)

Nur das Unicode Format sieht eine (optionale) Pràambel (Byte Order Mark - BOM) vor,
<URL:http://unicode.org/faq/utf_bom.html#BOM>
woraus sich die Anordnung ermitteln làßt, und die beim StreamReader -
den File.ReadAllLines nutzt - im Standard aktiviert ist:
<URL:http://msdn.microsoft.com/de-de/lib...r.aspx>

Für die vielen anderen Codierungen gibt es keine Festlegungen
<URL:http://en.wikipedia.org/wiki/Charac...coding>
und Du bist eine Entscheidung anhand der Datei-Endung und/oder der Plattform
angewiesen.

Gruß Elmar

Ähnliche fragen