2

我从我无法控制的第三方程序中得到一个字符串。我的一段代码以 HTML 格式输出。这在英语中运行良好,但在其他语言中它会以一种有趣的方式显示。例如,西班牙语的口音看起来很有趣,而东方语言(即韩语)中的字符看起来很有趣。我很确定我需要做一些编码工作,以便所有语言都能正确显示。

我对编码的理解有点差,所以在发布真正的问题之前,我直观地认为它是:“我如何在 C# 中将它编码为 UTF-8”,我想通过发布更简单的方法来了解这个问题问题。

我的问题是:我怎么知道我的输入字符串有哪种类型的编码?在西班牙语中,当我得到一个口音时,它看起来像这样:“Acción”,而不是“Acción”。这是 ANSI 还是我在处理什么?

提前非常感谢!

4

1 回答 1

8

我有口音:“Acción”

à 字符的存在是一个致命的赠品。重音大写 A 字符的字符代码为 0xC0 及以上。这通常是两字节 utf-8 编码字符中的第一个字节。ó 字形是代码点 U+00F3,它的 utf-8 编码是 0xC3 + 0xB3。à 和 ³ 的代码点是什么

字符串以 utf-8 编码,但您使用 8 位编码读取它,例如 Encoding.Default

于 2012-12-21T17:10:25.287 回答