在使用 WebRequest 获取某个西班牙报纸的索引时,我无法正确地获取发音符号。它们会产生这种奇怪的字符:
为什么会出现这种差异呢?
�
。但是,使用 WebClient
下载来自同一 URI 的响应时,我可以得到适当的响应。为什么会出现这种差异呢?
var client = new WebClient();
string html = client.DownloadString(endpoint);
vs
WebRequest request = WebRequest.Create(endpoint);
using (WebResponse response = request.GetResponse())
{
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
string html = reader.ReadToEnd();
}
WebClient.DownloadString
方法查看content-type
头信息(如“text/html; charset=utf-16”)来推断编码方式,但您的WebRequest方法使用UTF8(即StreamReader的默认值)。 - spender