c# - 通过 webclient 下载具有正确编码的 html 页面

标签 c# encoding webclient

我下载了一个编码为“usa-ascii”的页面,但我得到了错误的字符。为什么??

WebClient wb = new WebClient();
Encoding enc = Encoding.GetEncoding("US-ASCII");
wb.Encoding = enc;
byte[] by = wb.DownloadData(link);
string htmlDoc = enc.GetString(by);

但我得到的是:Pr?z 而不是:Präz

我的 HTML link : (charest=us-ascii)

<html debug="true">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"/>
</head>
...................

怎么了???

附注我尝试编码为 utf-8,但它也不起作用。

最佳答案

US-ASCII 没有该字符,因此页面包含无效字符(对于定义的字符集)。您的代码没有错,问题是 US-ASCII 不能满足 ä 这样的字符。

US-ASCII 数据表:link

关于c# - 通过 webclient 下载具有正确编码的 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698648/

相关文章:

c# - 根据角色创建类

c# - SQL连接为什么会留下参数?

excel - 在保持编码的同时使用 Perl 将 XLSX 转换为 CSV

php - mysqli 没有将字符集设置为 utf8mb4

c# - .net webclient 返回 500 错误,但浏览器中的 url 没问题

c# - 用于登录 ASP.NET 网站的控制台应用程序

c# - 在 Google Spreadsheet API 中添加一个简单的标题行

c# - SilverLight 5 和 VS2019 - 缺少程序集引用?

MySQL:同一列中的混合编码

.net - 通过 App.config 为 System.Net.HttpWebRequest 指定 SSL/TLS