Я был бы очень рад, если бы кто-нибудь помог мне решить эту проблему. У меня есть файл с некоторыми данными, в которых я не уверен, но я предполагаю, что формат данных - UFT8, и я читаю его в C# и без каких-либо изменений записываю его обратно в файл, но затем данные в файле становятся поврежденными .
Вот мой вывод файла из NotePad ++ с кодировкой UTF8:
Затем я читаю его и без изменений записываю его обратно в файл, но когда Я снова открываю его в Блокноте ++. Я вижу этот вывод:
Вот мой код для чтения и записи, написанный на C#:
private void btnRead_Click(object sender, RoutedEventArgs e)
{
var fs = new FileStream(path + name, FileMode.Open, FileAccess.Read);
var br = new BinaryReader(fs);
buffer = br.ReadBytes((int)fs.Length);
MyTextBox.Text = Encoding.UTF8.GetString(buffer);
}
private void btnWrite_Click(object sender, RoutedEventArgs e)
{
var bw = new BinaryWriter(new FileStream(path + name + ".modified", FileMode.Create));
bw.Write(BytesToString(buffer));
bw.Close();
}
static string BytesToString(byte[] bytes)
{
using (MemoryStream stream = new MemoryStream(bytes))
{
using (StreamReader streamReader = new StreamReader(stream))
{
return streamReader.ReadToEnd();
}
}
}