c#编码:从代码中获取特殊字符

本文关键字:获取 特殊字符 代码 编码 | 更新日期: 2023-09-27 18:13:08

我正在使用c# WinForms应用程序从使用ISO-8859-1字符集的网页中抓取一些数据。它适用于许多特殊字符,但不是全部。

(*下面我用冒号代替分号,这样你就能看到我看到的代码,而不是它的值)

我看了看页面源,我注意到,对于那些不会正确显示,实际的代码(例如ū:)是在页面源,而不是值。例如,在页面源代码中,我看到了Ryū: Murakami,但我期望看到ryu Murakami。此外,还有许多其他代码以代码的形式出现,例如Ş: ō: š: č: ă: ș:等等。

我试过使用WebClient。DownloadString和WebClient.DownloadData.

Try #1 Code:

using (WebClient wc = new WebClient())
{
wc.Encoding = Encoding.GetEncoding("ISO-8859-1");
string WebPageText = wc.DownloadString("http://www.[removed].htm");
// Scrape WebPageText here
}

Try #2 Code:

Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
using (WebClient wc = new WebClient())
{
wc.Encoding = iso;
byte[] AllData = wc.DownloadData("http://www.[removed].htm");
byte[] utfBytes = Encoding.Convert(iso, utf8, AllData);
string WebPageText = utf8.GetString(utfBytes);
// Scrape WebPageText here
}

我想保留特殊字符,所以请不要建议任何RemoveDiacritics示例。我错过什么了吗?

c#编码:从代码中获取特殊字符

考虑解码你的HTML输入