イムを持つファイルを読み込むReadAllTextを使用する方法ReadAllText時にファイルのエンコーディング不明
String[] values = File.ReadAllText(@"c:\\c\\file.txt").Split(';');
int i = 0;
foreach (String s in values)
{
System.Console.WriteLine("output: {0} {1} ", i, s);
i++;
}
私は時々(ÖÜÄÀ用...)バック間違った文字を取得するいくつかのファイルを読み込むしようとします。出力は次のようである、そのエンコーディングでいくつかの問題があるため、「?」:
output: 0 TEST
output: 1 A??O?
一つの解決策はReadAllTextにエンコーディングを設定することであろう、問題を解決することができReadAllText(@"c:\\c\\file.txt", Encoding.UTF8)
ような何かを言うことができます。しかし、もし私がまだ "?"出力として?ファイルのエンコーディングを知らないとどうなりますか? 1つのファイルごとに異なるエンコードがある場合はどうなりますか? C#でそれを行う最善の方法は何でしょうか?確実にこれを行うには
を試してみてください。純粋にファイルの内容に基づいて見つかる100%信頼できる方法はありません。 –
この記事を参照してください http://stackoverflow.com/questions/2239968/c-sharp-file-readalltext-doing-weird-things – Dhaval