加载编码正确的文件
本文关键字:文件 编码 加载 | 更新日期: 2023-09-27 17:58:43
我正在用文件选择器加载一个文件,但编码出现了问题。我没有正确的特殊字符。这是代码:
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
var stream = await file.OpenReadAsync();
var rdr = new StreamReader(stream.AsStream());
}
阅读效果很好,但编码效果不好。该文件以ansi-csv文件的形式出现。我可以给StreamReader一个这样的编码:
var rdr = new StreamReader(stream.AsStream(),System.Text.Encoding.UTF8);
但这也不起作用,System.Text.Encoding.ANSI
编码也不存在。如何使用正确的编码读取文件并显示我的特殊字符?
您可以指定系统的当前ANSI编码:
var rdr = new StreamReader(stream.AsStream(), System.Text.Encoding.Default);
如果这不是文件的正确编码,那么你需要知道在创建文件的计算机上使用了哪种编码,并获得该编码进行解码。例如:
var rdr = new StreamReader(stream.AsStream(), System.Text.Encoding.GetEncoding("ibm850"));