【发布时间】:2020-09-16 08:23:49
【问题描述】:
我已经使用下面的代码来编写文件了。
File.WriteAllText(fileName, data, Encoding.Unicode);
当我使用下面的代码读取文件时,因为文件编码的类型是特定于运行时的。
using (StreamReader sR = File.OpenText(fileName))
{
encoding = sR.CurrentEncoding;
}
我得到 Encoding.UTF8
This Link中的方法我也用过
任何人都可以建议找到编码的工作方式吗?
谢谢
【问题讨论】:
-
OpenText始终以 UTF8 格式打开。 docs.microsoft.com/en-us/dotnet/api/… -
一个文件只是一个字节序列。如果您不知道编码,可能会有一些猜测(尽管它们只是猜测),但您确实应该在尝试打开文件时知道并指定编码。
-
使用
var reader = new StreamReader(fileName, Encoding.Unicode)而不是File.OpenText()