是否有可能得到一个正确的编码通过网页响应数据有可能、正确、网页、数据

由网友(请比我爱她)分享简介:使用(WebResponse的响应= webRequest.GetResponse()){使用(VAR读卡器=新的StreamReader(response.GetResponseStream())){字符串tmpStreamData =的String.Empty;而(!reader.EndOfStream){而(...

 使用(WebResponse的响应= webRequest.GetResponse())
{
    使用(VAR读卡器=新的StreamReader(response.GetResponseStream()))
    {
        字符串tmpStreamData =的String.Empty;
        而(!reader.EndOfStream)
        {
            而(reader.Peek()&-1)〜
            {
                tmpStreamData + =(char)的reader.Read();
            }
        }
        的MessageBox.show(tmpStreamData);
    }
}
 

有时候,我得到了tmpStreamData符号。是否有可能避免这种情况,并获得数据的可读格式?

解决方案

 使用(HttpWebResponse响应=(HttpWebResponse)webRequest.GetResponse())//< -----获取HTTP的反响,如果这不是你需要知道什么编码的HTTP respone
{
    使用(VAR读卡器=新的StreamReader(response.GetResponseStream(),Encoding.GetEncoding(response.CharacterSet)))//< -----如果不是HTTP的反响,那么response.CharacterSet必须由$ P $替换pdefined编码,即UTF-8的
    {
        字符串tmpStreamData = reader.ReadToEnd(); //< -----读取整个流串
        的MessageBox.show(tmpStreamData);
    }
}
 

using (WebResponse response = webRequest.GetResponse())
{       
    using (var reader = new StreamReader(response.GetResponseStream()))
    {
        string tmpStreamData = string.Empty;        
        while (!reader.EndOfStream)
        {
            while (reader.Peek() > -1)
            {                   
                tmpStreamData += (char)reader.Read();
            }               
        }
        MessageBox.Show(tmpStreamData);
    }
}
最全整理 项目管理人超实用的自学网站

Sometimes I get � symbols in the "tmpStreamData". Is it possible to avoid such situations and get data in the readable format?

解决方案

using (HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse()) //<----- Get http responce, if this is not http respone you need to know what encoding
{       
    using (var reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(response.CharacterSet))) //<----- If not HTTP responce, then response.CharacterSet must be replaced by predefined encoding, i.e. UTF-8
    {
        string tmpStreamData = reader.ReadToEnd(); // <----- Read whole stream to string
        MessageBox.Show(tmpStreamData);
    }
}

阅读全文

相关推荐

最新文章