CSVファイルをスキャンしてマージするアプリケーションを作成しています。新しいファイルにデータを書き込む際に問題が発生しています。フィールドの1つには、新しいファイルに書き込むまで維持されるö文字があります。 öUTF8ファイルに書き込むと文字が失われる
私は、UTF8エンコーディングが使用するのが最良ではないが、より良い作業方法を見つけることはないと思っています。これは「期待値」の代わりに「実際の」値になります。これについてのどんな助けも大いに評価されるでしょう!
byte[] nl = new UTF8Encoding(true).GetBytes("\n");
using (FileStream file = File.Create(filepath))
{
string text;
byte[] info;
for (int r = 0; r < data.Count; r++)
{
int c = 0;
for (; c < data[r].Count - 1; c++)
{
text = data[r][c] + @",";
text = text.Replace("\n", @"");
text = text.Replace(@"☼", @"""");
info = new UTF8Encoding(true).GetBytes(text);
file.Write(info, 0, text.Length);
}
text = data[r][c];
info = new UTF8Encoding(true).GetBytes(text);
file.Write(info, 0, text.Length);
file.Write(nl, 0, nl.Length);
}
}
なぜ*バイナリ*リーダーにエンコーディングを与えることは、私を超えて考える価値のあるアイデアでした... – rubenvb
ありがとう。あなたはそうではありません。テキストエディタです。 Notepad ++エンコーディングをクリックしました(エンコーディングについてのメニューであることを知っているはずです)、UTF8に変更しました。すべては今良いです。 – GaidenFocus