【发布时间】:2018-02-02 13:24:18
【问题描述】:
我正在使用 HtmlAgilityPack 从某些网站中获取一些元数据。但是,很多网站的元数据内容都使用 ISO-8857-1 编码保存,所以我得到如下字符串:
Alt sammen under ét tag. Kontakt os i dag på
作为一个编码初学者,我完全不知道如何获得常规的 UTF-8 编码字符串。我试过这样的程序:
Encoding.GetEncoding("iso-8859-1").GetString(Encoding.UTF8.GetBytes(input));
这只是给了我一个更加晦涩的字符串。有人可以指出我正确的方向吗?当我将它们写入引号块时,甚至堆栈溢出也会将 iso-8859-1 字符转换为正确的字符。
【问题讨论】:
-
请注意,数字字符实体引用标识 Unicode 代码点,HTML 文档中使用文档字符编码解码后的所有字符也是如此。 (如果您从 .NET 字符串的角度查看内容,那么它的编码是 UTF-16。但在您尝试在任意位置索引字符串或确定字符串的“长度”之前,这无关紧要。 )
标签: c# utf-8 character-encoding html-agility-pack