1
resposta

Como saber com qual encoding um arquivo foi criado?

Olá ,

Durante o curso C#9 aula 3, cimos que podemos decidir entre usar o encoding padrão ou especificar um. Porém se eu recebo o arquivo de um outra pessoa/origem sem que ela me passe maiores informações, como saber com qual encoding o arquivo foi criado para que seja feita a leitura corretamente?

Obrigado,

1 resposta

Boa noite Matheus,

existe uma propriedade na classe StreamReader chamada CurrentEncoding, abaixo um exemplo de sua utilização (retirado do MSDN):

            using (StreamReader sr = new StreamReader(path, true)) 
            {
                while (sr.Peek() >= 0) 
                {
                    Console.Write((char)sr.Read());
                }

                //Test for the encoding after reading, or at least
                //after the first read.
                Console.WriteLine("The encoding used was {0}.", sr.CurrentEncoding);
                Console.WriteLine();
            }

Mais informações: https://docs.microsoft.com/en-us/dotnet/api/system.io.streamreader.currentencoding?redirectedfrom=MSDN&view=netframework-4.7.2#System_IO_StreamReader_CurrentEncoding