使用C#读取HTML正文时的垃圾值
本文关键字:正文 读取 HTML 使用 | 更新日期: 2023-09-27 18:28:17
我有下面的HTML
文件,其中包含以下内容:
<HTML>
<BODY>
...
........ company's Chief Financial Officer. Now the.......
...
</BODY>
</HTML>
我正在阅读这个文件的内容使用:
StringBuilder stringBuilder = new StringBuilder();
using (StreamReader sr = new StreamReader(filePath))
{
String line = sr.ReadToEnd();
stringBuilder.Append(line);
}
strFileContent = stringBuilder.ToString();
然而,它返回的字符串为:
。。。。。。。。公司�的首席财务官。���现在。。
HTML
文件在我的本地系统中。
您需要使用与创建文件相同的编码。默认情况下,StreamReader
假设您的编码为UTF8
,并尝试使用该编码对文件进行解码,但您的原始编码是windows-1252
(正如您在评论中所说)。由于显而易见的原因,试图用错误的编码读取会产生垃圾数据。
你应该明确说明文件的编码方式
var encoding = Encoding.GetEncoding(1252);//windows-1252
using (StreamReader sr = new StreamReader(filePath, encoding))
...
奖金阅读
您必须在StreamReader中设置编码,如下所示:
using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))