locked
Convert file from UTF-8 to ANSI

    Pergunta

  • How would I do the above in C#?

    thanks

    segunda-feira, 14 de julho de 2008 08:05

Respostas

  • Try something like...

    StreamReader sr = new StreamReader(infile);  
    StreamWriter sw = new StreamWriter(outfile, false, Encoding.ASCII); // or UTF-7, etc  
     
    sw.WriteLine(sr.ReadToEnd);  
     
    sw.Close();  
    sr.Close(); 

    Remember that .NET is UTF-16 natively, but will open any encoding type automatically (except UTF-7).
    • Editado Darren Oster segunda-feira, 14 de julho de 2008 09:16 Add UTF-16 reminder
    • Marcado como Resposta wBob segunda-feira, 14 de julho de 2008 12:57
    segunda-feira, 14 de julho de 2008 09:15

Todas as Respostas

  • Try something like...

    StreamReader sr = new StreamReader(infile);  
    StreamWriter sw = new StreamWriter(outfile, false, Encoding.ASCII); // or UTF-7, etc  
     
    sw.WriteLine(sr.ReadToEnd);  
     
    sw.Close();  
    sr.Close(); 

    Remember that .NET is UTF-16 natively, but will open any encoding type automatically (except UTF-7).
    • Editado Darren Oster segunda-feira, 14 de julho de 2008 09:16 Add UTF-16 reminder
    • Marcado como Resposta wBob segunda-feira, 14 de julho de 2008 12:57
    segunda-feira, 14 de julho de 2008 09:15
  • Thanks a lot / worked for me but with the () on readtoend()

    StreamReader sr = new StreamReader(infile);  
    StreamWriter sw = new StreamWriter(outfile, false, Encoding.ASCII); // or UTF-7, etc  
     
    sw.WriteLine(sr.ReadToEnd());    //<-- read to end needed ()
     
    sw.Close();  
    sr.Close(); 





    sexta-feira, 1 de agosto de 2008 08:03
  • Since you specifically asked for ANSI output, I feel compelled to point out that using Encoding.ASCII will not work properly for some characters with ASCII codes above 128.

    To make it work properly with ANSI, you should use Encoding.Default. This will be correct for the system's current code page.
    • Sugerido como Resposta E_r_i_c quinta-feira, 1 de abril de 2010 17:02
    sexta-feira, 1 de agosto de 2008 12:36