Задать кодировку Windows-1251 для файла - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Проблема в том что кодировка изменяется на UTF-8,но требуется на Windows-1251. Что не так? Заранее спасибо.
private void button2_Click(object sender, EventArgs e)
        {
            Encoding Code = Encoding.GetEncoding(1251);
            string Str = string.Empty;
            using (System.IO.StreamReader Reader = System.IO.File.OpenText(Form1.filename))
            {
                Str = Reader.ReadToEnd();
            }
            Str = Str.Replace("111", "123");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(Form1.filename))
            {
                file.Write(Str,Code);//Тут мы меняем кодировку,в чем ошибка?
            }
            MessageBox.Show("Работа выполнена успешно!");
            this.Close();
        }

Решение задачи: «Задать кодировку Windows-1251 для файла»

textual
Листинг программы
private void button2_Click(object sender, EventArgs e)
{
    Encoding win1251 = Encoding.GetEncoding(1251);
    
    string str;
    using (var reader = new StreamReader(Form1.filename, win1251))
    {
        str = reader.ReadToEnd();
    }
    
    str = str.Replace("111", "123");
    
    using (var writer = new StreamWriter(Form1.filename, false, win1251))
    {
        writer.Write(str);
    }
    
    MessageBox.Show("Работа выполнена успешно!");
    this.Close();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы