2

我的问题是我想解析一个文件,它必须检测一个特殊的字符('Â')来做一些事情。我没有设法检测到它,但它适用于像“a”这样的普通字符。所以我试图了解问题出在哪里,并创建了一个.txt 文件,其唯一的字符是'Â'。

string a = File.ReadAllText("C:/example/example/test.txt");
Console.WriteLine(a.Length);`

控制台打印 0。这就像 char 不存在。所以我尝试了不同的编码(使用 utf8、utf16、unicode 等的 File.ReadAllText)并得到了相同的结果。

我真的不知道该怎么办,提前谢谢!

4

2 回答 2

-1

您正在尝试读取 8859-1 编码的拉丁字符。试试下面

 Encoding iso = Encoding.GetEncoding("ISO-8859-1");
 string a = File.ReadAllText("C:/example/example/test.txt",iso);
 Console.WriteLine(a.Length);
于 2018-07-04T17:41:29.340 回答
-1

如果您将编码设置为默认值,它可以工作:

string result = File.ReadAllText("test.txt", Encoding.Default);

这将为您提供“”。

于 2018-07-04T17:14:17.290 回答