pur*_*ang 0 c# character-encoding httpwebresponse responsestream
有时我会从几个网站得到一些乱码回复.
这是我的代码:
Stream responseStream = response.GetResponseStream();
buffer = new Byte[256];//
int bytesRead;
while ((bytesRead = responseStream.Read(buffer, 0, buffer.Length)) > 0)
{
outStream.Write(buffer, 0, bytesRead);
//resp=resp+ .UTF8.GetString(buffer, 0, bytesRead);
resp=resp + Encoding.ASCII.GetString(buffer); //resp is string
}
Run Code Online (Sandbox Code Playgroud)
当我从www.google.co.in请求时,我在resp字符串中得到以下字符:
?\ B\0\0\0\0\0ερ}ÿ·F ?????????Ž?????? {7米??? OX吗?\ r?ÿ??? 33 ?? d; Y ???? N 0?
我该如何克服这个问题?它与编码有关吗?
我收到的响应是GZip压缩的,所以我只是解压缩了响应流,如下所示:
Stream responseStream = response.GetResponseStream();
responseStream = new GZipStream(responseStream, CompressionMode.Decompress);
Run Code Online (Sandbox Code Playgroud)
现在可以使用上面提供的代码读取流.
@Kalyan感谢您的帮助!