.NET 4.x Преобразование кодировки Unicode в UTF-8 - C#

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

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

Столкнулся просто с дичайшей проблемой:
private void button1_Click(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader(@"C:\log.txt"); 
            Encoding iso_8859_1 = Encoding.GetEncoding("ISO-8859-1");
            string encr = sr.ReadLine();
            byte[] b = iso_8859_1.GetBytes(encr);
            sr.Close();
            string res = Encoding.UTF8.GetString(b);
            richTextBox2.Text = res;           
        }
Не понятно по какой причине, но ничего не работает, если ставить бряки то видно что в переменной строка с продублированными слешами, видимо причина в этом. Как сделать чтобы данный код выводил нормальные преобразованные значения из файла. Строка в файле :
\u00d0\u00b9\u00d0\u00b9\u00d0\u00b9
И на выводе дает тоже самое Но парадокс заключается в том, что если эту строку подставить просто, без считывания из файла, то все работает просто чудесно, вопрос - в чем проблема и что делать?
Аналогично не работает и:
private void button1_Click(object sender, EventArgs e)
        {            
            Encoding iso_8859_1 = Encoding.GetEncoding("ISO-8859-1");            
            byte[] b = iso_8859_1.GetBytes(richTextBox1.Text);           
            string res = Encoding.UTF8.GetString(b);
            richTextBox2.Text = res;          
        }
Рабочим оказался только:
private void button1_Click(object sender, EventArgs e)
        {            
            Encoding iso_8859_1 = Encoding.GetEncoding("ISO-8859-1");
            byte[] b = iso_8859_1.GetBytes("\u00d0\u00b9\u00d0\u00b9\u00d0\u00b9");           
            string res = Encoding.UTF8.GetString(b);
            richTextBox2.Text = res;           
        }

Решение задачи: «.NET 4.x Преобразование кодировки Unicode в UTF-8»

textual
Листинг программы
string unreadable = @"\u00d0\u00b9\u00d0\u00b9\u00d0\u00b9";
string readable = HttpUtility.UrlDecode(unreadable.Replace(@"\u00", "%"), Encoding.UTF8);

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


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

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

8   голосов , оценка 3.875 из 5