关于c#4.0:如何在C#中知道字符串编码

How to know string encoding in C#

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

我对编码的理解有点差,所以在发布真正的问题之前,我直觉地认为它是:"我如何将这个问题编码成C中的utf-8",我想通过发布更简单的问题来获得对这一问题的更多理解。

我的问题是:我如何知道我的输入字符串具有哪种编码类型?在西班牙语中,当我有口音的时候,看起来像这样:"Acci?3n",而不是"acci_n"。这是ANSI还是我要处理的问题?

提前多谢!


I get an accent:"Acci?3n"

是否存在?角色是一个死神的赠品。重音大写A字符的字符代码为0xC0及以上。它通常是双字节UTF-8编码字符中的第一个字节。_字形是代码点U+00F3,它的utf-8编码是0xc3+0xb3。哪些是代码点?和3

字符串是以UTF-8编码的,但您正在使用类似于编码的8位编码来读取它。