Строковое представление в c # - PullRequest
3 голосов
/ 11 марта 2011

я собираюсь получить текст с существующей веб-страницы, используя этот метод:

  try
        {

            WebClient client = new WebClient();
            result = client.DownloadString(url);
            int start = result.IndexOf("startpointstr") ;

            end = result.IndexOf("EndpointStr");

            result = result.Substring(start, end - start);
          string.Format(
            MessageBox.Show(result);


        }
        catch (Exception ex)
        {
            // handle error
             MessageBox.Show(ex.Message);

        }

в положительном смысле это работает на английском языке но для таких языков, как иврит возвращает нераспознанные символы (не на иврите) Есть ли способ переформатировать возвращенную строку?

Ответы [ 2 ]

5 голосов
/ 11 марта 2011

Используйте Свойство WebClient.Encoding для установки кодировки ресурса.

client.Encoding = System.Text.Encoding.UTF8;
1 голос
/ 11 марта 2011

Вы должны знать кодировку загружаемой страницы, прежде чем конвертировать ее в строку. Некоторые кандидаты для проверки будут в порядке приоритета:

  1. HTTP-контент-тип ответа ( charset значение атрибута)
  2. http-эквивалент мета-тега ( кодировка значение атрибута)
  3. Спецификация возвращаемого потока ( Метка порядка байтов )
  4. UTF-8 в качестве значения по умолчанию

Обратите внимание, что не все веб-страницы имеют кодировку UTF-8, особенно за пределами западного полушария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...