.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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д