ここでは何もわからないことがありますが、FileStreamでエンコードを設定できないようです。C#FileStream読み取りセットのエンコーディング
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
using (fs)
{
byte[] buffer = new byte[chunk];
fs.Seek(chunk, SeekOrigin.Begin);
int bytesRead = fs.Read(buffer, 0, chunk);
while (bytesRead > 0)
{
ProcessChunk(buffer, bytesRead, database, id);
bytesRead = fs.Read(buffer, 0, chunk);
}
}
fs.Close();
ここで、ProcessChunkは読み取られた値をオブジェクトに保存し、オブジェクトをXMLにシリアライズしますが、読み取られた文字は正しく表示されません。エンコーディングは1250にする必要があります。エンコーディングをFileStreamに追加するオプションはありませんでした。私はここで何が欠けていますか?
'' 'FileStream'''の代わりに' '' StreamWriter'''を使うようにしてください。 – tym32167
あなたは* bytes *を読んでいるので、エンコーディングはありません。これらのバイトがテキストを構成する場合、エンコーダーを必要とするテキストにこれらのバイトを変換するプロセスです。あなたのコードや質問には(「どこでエンコーダを指定するか」以外の)テキスト処理の痕跡がないので、質問は:エンコーダが必要ですか? –