c#中的字符串表示

时间:2011-03-10 22:42:24

标签: c# string

使用此方法从现有网页抓取一些文字:

  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 个答案:

答案 0 :(得分:5)

使用WebClient.Encoding Property设置资源的编码。

client.Encoding = System.Text.Encoding.UTF8;

答案 1 :(得分:1)

在将其转换为字符串之前,您必须知道正在下载的页面的编码。一些候选人将按优先顺序排列:

  1. HTTP内容 - 响应类型( charset 属性值)
  2. http-equiv META标记( charset 属性值)
  3. 返回流的BOM(Byte Order Mark
  4. UTF-8作为默认值
  5. 请注意,并非所有网页都使用UTF-8进行编码,尤其是在西半球之外。