Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/100: Рейтинг темы: голосов - 100, средняя оценка - 4.67
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
1

Перекодировка строки

13.07.2011, 21:17. Показов 19496. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется строка string в которой находится html код с кодировкой windows-1251. При обображении в richTextBox русские символы замещаются "квадратиками". Помогите перекодировать строку.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2011, 21:17
Ответы с готовыми решениями:

Группа методов Перекодировка строки
Добрый Вечер всем , Помогите решить проблему .. Есть группа методов ini.getinidata класс...

Перекодировка текста
Здравствуйте! Есть такая задача: написать программу-конвертер. Есть исходный текст, и нужно при...

Перекодировка текста
Здравствуйте! Есть такая задача: написать программу-конвертер. Есть исходный текст, и нужно при...

Перекодировка строк.
Приветствую. Есть много строк следующего вида: ...

11
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
13.07.2011, 21:40 2
Цитата Сообщение от RiG1 Посмотреть сообщение
Имеется строка string в которой находится html код с кодировкой windows-1251. При обображении в richTextBox русские символы замещаются "квадратиками". Помогите перекодировать строку.
думаю Encoding.GetEncoding может помочь

Добавлено через 5 минут
не, бред написал вроде...
0
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
13.07.2011, 21:43  [ТС] 3
а конкретный код можно?
0
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
13.07.2011, 22:17 4
Цитата Сообщение от RiG1 Посмотреть сообщение
а конкретный код можно?
щас, я попробую что то сделать и если что напишу.

Добавлено через 30 минут
C#
1
2
3
4
5
6
7
string str = "UTF8 Encoded string.";
Encoding srcEncodingFormat = Encoding.GetEncoding("windows-1251");
Encoding dstEncodingFormat = Encoding.UTF8;
byte [] originalByteString = srcEncodingFormat.GetBytes(str);
byte [] convertedByteString = Encoding.Convert(srcEncodingFormat,
dstEncodingFormat, originalByteString);
string finalString = dstEncodingFormat.GetString(convertedByteString);
Из просторов интернета... Попробуйте.
0
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
13.07.2011, 22:36  [ТС] 5
хм...теперь вместо квадратиков - вопросики... Что то странное
0
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
13.07.2011, 22:40 6
Цитата Сообщение от RiG1 Посмотреть сообщение
хм...теперь вместо квадратиков - вопросики... Что то странное
интересно

Добавлено через 1 минуту
Попробуйте может кодировку поменять, на Default, например.
0
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
13.07.2011, 22:50  [ТС] 7
Перепробовал все кодировки. Вот страница которая находится в string http://bar-navig.yandex.ru/u?v... tp://ya.ru
Код парсинга
C#
1
2
3
4
5
6
7
8
9
10
richTextBox1.Text = "";
            WebRequest req = WebRequest.Create("http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://" + str);
            label3.Text = "Создаем запрос ТИЦ...";
            Application.DoEvents();
            WebResponse resp = req.GetResponse();
            Stream stream = resp.GetResponseStream();
            StreamReader rdr = new StreamReader(stream);
            string stroka = richTextBox1.Text = rdr.ReadToEnd();// Вывод HTML-кода
            resp.Close();
            label3.Text = "Done...";
Добавлено через 4 минуты
Сдается мне что это из-за файла формата xml... но как исправить?
0
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 93
14.07.2011, 01:57 8
Попробуй Encoding.None
0
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802
14.07.2011, 03:07 9
так и знал что используется StreamReader. У него есть хорошая перегрузка в которой можно указать кодировку
C#
1
StreamReader sr = new StreamReader(stream, Encoding.Default);
0
Level 2
401 / 275 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
14.07.2011, 03:14 10
Цитата Сообщение от zelen Посмотреть сообщение
так и знал что используется StreamReader. У него есть хорошая перегрузка в которой можно указать кодировку
C#
1
StreamReader sr = new StreamReader(stream, Encoding.Default);
Ага, должно помочь

PS - Ещё думаю можно сделать так, не знаю точно но по моему так лучше:

C#
1
StreamReader sr = new StreamReader(stream, Encoding.GetEncoding(0));
0
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
14.07.2011, 19:08  [ТС] 11
Не помогло. Выкладываю весь проект WindowsFormsApplication1.zip
0
28 / 28 / 4
Регистрация: 12.03.2011
Сообщений: 474
14.07.2011, 21:15  [ТС] 12
все заработало. Я нереально затупил
0
14.07.2011, 21:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2011, 21:15
Помогаю со студенческими работами здесь

Перекодировка ANSI в utf-8
помогите пожалуйста с программой... Имеется Текстовый файл в кодировке Windows 1251(ansi) -...

Перекодировка из qwerty в йцукен
Всем привет! Бывают случаи, когда набрал "ghbdtn" вместо "привет" (а представьте целое...

Перекодировка ASCII в WIN1251
Перекодировать файл из ASCII в WIN1251. Можете дать код?

Encoding: перекодировка русских букв
Доброго времени суток! Есть кусок кода string welcome = "Привет Welcome"; data =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru