Como usar o ReadAllText quando a codificação de arquivos é desconhecida
Estou lendo um arquivo comReadAllText
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++;
}
Se eu tentar ler alguns arquivos, às vezes recebo o caracter errado (para ÖÜÄÀ ...). A saída é como '?', É porque há algum problema com a codificação:
output: 0 TEST
output: 1 A??O?
Uma solução seria definir a codificação em ReadAllText, vamos dizer algo comoReadAllText(@"c:\\c\\file.txt", Encoding.UTF8)
Isso poderia resolver o problema. Mas e se eu ainda conseguisse '? como saída? E se eu não souber a codificação do arquivo? E se todos os arquivos tivessem uma codificação diferente? Qual seria a melhor maneira de fazer isso com c #? Obrigado