【发布时间】:2016-09-05 22:21:43
【问题描述】:
我只是这样做:
using (var f = File.Open("File.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
using (var sw = new StreamWriter(f, Encoding.ASCII))
{
sw.WriteLine("Test");
}
}
using (var f = File.Open("File.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
using (var sr = new StreamReader(f, detectEncodingFromByteOrderMarks: true))
{
var r = sr.ReadLine();
var e = sr.CurrentEncoding;
//e = UTF8Encoding ???????? !!!!!
}
}
为什么流没有正确检测到编码?
【问题讨论】:
-
你正在阅读的文件有字节序标记吗?
-
您是否意识到自动编码检测主要是一种基于最佳猜测的方法...?你可能想看看 UDE。
-
ASCII 文件也是 UTF8 文件,所以可能你做对了!