Как использовать 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++;
    }

Если я пытаюсь прочитать некоторые файлы, иногда получаю неправильный символ (для & # xD6; & # xDC; & # xC4; & # xC0; ...). Вывод похож на «?», Потому что есть некоторые проблемы с кодировкой:

output: 0 TEST
output: 1 A??O?

Одним из решений было бы установить кодировку в ReadAllText, скажем, что-то вродеReadAllText(@"c:\\c\\file.txt", Encoding.UTF8) это может решить проблему. Но что, если я все еще получу «?» как вывод? Что если я не знаю кодировку файла? А что если каждый файл имеет свою кодировку? Что было бы лучшим способом сделать это с C #? Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос