c# - HttpWebResponse - 编码问题

标签 c# encoding

我遇到了编码问题。当我获得网站的源代码时,我有: enter image description here

我像这样将编码设置为 UTF8:

StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string sourceCode = reader.ReadToEnd();

感谢您的帮助!

最佳答案

尝试使用指定的编码:

Encoding encoding;
try
{
    encoding = Encoding.GetEncoding(response.CharacterSet);
}
catch (ArgumentException)
{
    // Cannot determine encoding, use dafault
    encoding = Encoding.UTF8;
}

StreamReader reader = new StreamReader(response.GetResponseStream(), encoding);
string sourceCode = reader.ReadToEnd();

如果您以某种方式接受 gzip,这可能会有所帮助:(我自己还没有尝试过并且承认它没有多大意义,因为您的编码不是 gzip?!)

request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

关于c# - HttpWebResponse - 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755635/

相关文章:

java - 将 String 编码为 BigInteger,然后解码回 String

为 Ruby FFI 接口(interface)从字符串转换为 const char* 时的 C++ 字符编码

c# - 响应类、ServiceStack 中的 IEnumerable 与列表

c# - 在 C# 中转换泛型接口(interface)和类

c# - 删除方法不删除

PHP 字符串函数与 mbstring 函数

ruby - "Invalid multibyte char (US-ASCII)"ä、ü、ö、ß 是 Ascii 的错误!

c# - Elasticsearch.NET 版本 7 - 如何创建索引

c# - 如果 C# .NET 出现错误,如何让我的代码跳过某些内容

java - 属性文件中的 @TestPropertySource 和 UTF-8 支持