是否可以通过正确的编码从Web响应获取数据 [英] Is it possible to get data from web response in a right encoding

查看:116
本文介绍了是否可以通过正确的编码从Web响应获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用(WebResponse response = webRequest.GetResponse())
{
使用(var reader = new StreamReader(response.GetResponseStream()))
{
string tmpStreamData = string.Empty;
while(!reader.EndOfStream)
{
while(reader.Peek()> -1)
{
tmpStreamData + =(char)reader.Read ();
}
}
MessageBox.Show(tmpStreamData);
}
}

有时我会在tmpStreamData中找到 符号。可以避免这种情况并以可读格式获取数据?

解决方案

  /获取HTTP响应。如果这不是HTTP响应,您需要自己知道编码。 
using(HttpWebResponse response =(HttpWebResponse)webRequest.GetResponse())
{
//如果不是HTTP响应,那么response.CharacterSet必须被预定义的编码替代,例如UTF-8。
using(var reader = new StreamReader(response.GetResponseStream(),Encoding.GetEncoding(response.CharacterSet)))
{
//读取整个流到字符串。
string 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?

解决方案

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

这篇关于是否可以通过正确的编码从Web响应获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆