Как использовать 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 #? Спасибо