相关疑难解决方法(0)

如何在文件编码未知时使用ReadAllText

我正在使用ReadAllText读取文件

    String[] values = File.ReadAllText(@"c:\\c\\file.txt").Split(';');

    int i = 0;

    foreach (String s in values)
    {
        System.Console.WriteLine("output: {0} {1} ", i, s);
        i++;
    }
Run Code Online (Sandbox Code Playgroud)

如果我试着读一些文件,我有时会得到错误的字符(对于ÖÜÄ......).输出就像'?',因为编码存在一些问题:

output: 0 TEST
output: 1 A??O?
Run Code Online (Sandbox Code Playgroud)

一种解决方案是在ReadAllText中设置编码,让我们说这样ReadAllText(@"c:\\c\\file.txt", Encoding.UTF8)可以解决问题.但是,如果我仍然会得到'?' 作为输出?如果我不知道文件的编码怎么办?如果每个文件都有不同的编码怎么办?用c#做最好的方法是什么?谢谢

.net c# encoding

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

.net ×1

c# ×1

encoding ×1