(抱歉,这是骗子)
我花了很长时间尝试正确读取文本文件。
从File.ReadAllText(path)
开始并弄乱了字符之后,我尝试了File.ReadAlltext(path, Encoding)
的几种变体,之后陷入困境,试图分析我的输入文件以找出问题出在哪个字节上,等等。
无奈之下,我尝试了File.ReadAllText(path, Encoding.Default)
,这有效!
我现在正在努力了解为什么默认值显然只有指定的默认值。
(我的压缩测试字符串是+4433ç
,我将其保存为ANSI记事本中,尽管使用了瑞士法语区域设置...)
最佳答案
Encoding.Default是系统的ANSI代码页。
如果不指定编码,File.ReadAllText的作用是这样的:
因此,获取系统ANSI代码页的唯一方法是显式指定Encoding.Default。