c# - File.ReadAllText 无法读取
问题描述
我的问题是我想解析一个文件,它必须检测一个特殊的字符('Â')来做一些事情。我没有设法检测到它,但它适用于像“a”这样的普通字符。所以我试图了解问题出在哪里,并创建了一个.txt 文件,其唯一的字符是'Â'。
string a = File.ReadAllText("C:/example/example/test.txt");
Console.WriteLine(a.Length);`
控制台打印 0。这就像 char 不存在。所以我尝试了不同的编码(使用 utf8、utf16、unicode 等的 File.ReadAllText)并得到了相同的结果。
我真的不知道该怎么办,提前谢谢!
解决方案
您正在尝试读取 8859-1 编码的拉丁字符。试试下面
Encoding iso = Encoding.GetEncoding("ISO-8859-1");
string a = File.ReadAllText("C:/example/example/test.txt",iso);
Console.WriteLine(a.Length);
推荐阅读
- android - 在最多 5 行的水平回收视图中显示数字
- python - Beautifulsoup 打印相同的类名不同的出现
- javascript - A-Frame getObject3D('mesh') 多次尝试返回未定义
- maven - jQAssistant - scanInclude Maven 工件
- ruby-on-rails - 如何跨控制器中的多个表获取(匹配)数据?
- laravel - Laravel + Vue $request->hasFile('image') 返回 null
- javascript - 在本机反应中将容器组件与表示组件分离
- python - 如何在 Django Wagtail 中重用子页面中的父页面字段?
- polymer - 将 Web 字体与 Polymer 自定义元素一起使用
- javascript - 将 codeigniter php 数据添加到 Chart js