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

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

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

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

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут