Странная кодировка при чтении файла с русским текстом и бинарные файлы - C#
Формулировка задачи:
Доброго времени суток!
Пишу програмулину для открытия существующего .txt файла и создания его бинарной копии. Есть TextBox, 2 кнопки, save и open диалоги. Так вот, при считывании файла с русскими буквами я получаю ромбообразную непонятную кодировку. Добавил уже 1251 как параметр кодировки, всё равно не отображает русский алфавит.
Листинг программы
- private void button1_Click(object sender, EventArgs e)
- {
- Encoding enc = Encoding.GetEncoding(1251);
- // Задание параметров диалога открытия
- openFileDialog1.Filter = "Text file|*.txt";
- openFileDialog1.Title = "Select a file to convert";
- // Работа диалога открытия
- if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- System.IO.StreamReader sr = new
- System.IO.StreamReader(openFileDialog1.FileName,enc);
- //filepath = openFileDialog1.FileName;
- textBox1.Text = System.IO.File.ReadAllText(openFileDialog1.FileName);
- sr.Close();
- }
- else if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
- return;
- //button2.Enabled = true;
- }
Листинг программы
- private void button2_Click(object sender, EventArgs e)
- {
- saveFileDialog1.Filter = "Text File|*.txt";
- saveFileDialog1.Title = "Save the converted Binary File";
- saveFileDialog1.ShowDialog();
- saveFileDialog1.CreatePrompt = true;
- saveFileDialog1.OverwritePrompt = true;
- if (saveFileDialog1.FileName != "")
- {
- System.IO.BinaryWriter bw =
- (System.IO.BinaryWriter)saveFileDialog1.OpenFile(); // ошибка преобразования System.IO.Stream в System.IO.BinaryWriter
- //////////////
- // запись содержимого textbox в файл
- //////////////
- bw.Close();
- }
Решение задачи: «Странная кодировка при чтении файла с русским текстом и бинарные файлы»
textual
Листинг программы
- textBox1.Text = System.IO.File.ReadAllText(openFileDialog1.FileName, Encoding.Default);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д