首页 > 解决方案 > File.ReadAllText 无法读取

问题描述

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

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

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

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

标签: c#file.readalllines

解决方案


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

 Encoding iso = Encoding.GetEncoding("ISO-8859-1");
 string a = File.ReadAllText("C:/example/example/test.txt",iso);
 Console.WriteLine(a.Length);

推荐阅读