.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);