我在 c# 中将文本文件从 ANSI 转换为 UTF8 时遇到问题。我尝试在浏览器中显示结果。
所以我有一个包含许多重音字符的文本文件。它以 ANSI 编码,因此我必须将其转换为 utf8,因为在浏览器中而不是重音字符出现“?”。无论我如何尝试转换为 UTF8,它仍然是“?”。但是,如果我将 notepad++ 中的文本文件转换为 utf8,那么重音字符会显示得很好。
这是我制作的编码代码的和平:
public string Encode(string text)
{
// encode the string as an ASCII byte array
byte[] myASCIIBytes = ASCIIEncoding.ASCII.GetBytes(text);
// convert the ASCII byte array to a UTF-8 byte array
byte[] myUTF8Bytes = ASCIIEncoding.Convert(ASCIIEncoding.ASCII, UTF8Encoding.UTF8, myASCIIBytes);
// reconstitute a string from the UTF-8 byte array
return UTF8Encoding.UTF8.GetString(myUTF8Bytes);
}
你知道为什么会这样吗?