使用C#进行UTF-8转换为ANSI

时间:2014-03-12 17:43:37

标签: c# utf-8 character-encoding codepages

我是.NET开发人员,并被要求做一个应用程序,在C#中将html文件转换为ANSI。

ANSI是必要的,因为转换的文件将在Visual Fox Pro应用程序上运行。

基本逻辑准备就绪,问题在于转换本身。

我已经尝试过这段代码:http://social.msdn.microsoft.com/Forums/pt-BR/026ddda3-9bd1-4502-b445-e2a1cc88345d/convert-file-from-utf8-to-ansi?forum=csharplanguage但是当我在editplus上检查它时,文件仍然没有转换为ANSI,甚至最糟糕的是缩进它都搞砸了。

我应该做的是转换像editplus这样的文件,它保留文档缩进并可以将任何文件从UTF8转换为ANSI。

重点是我正在处理数百个html文件,所以我不能一个一个地使用文本编辑器。

如何进行转换?

有没有办法转换它并像editplus一样保留缩进?

对于特殊字符,例如:“ã,ão,é,í......”我在转换之前对其进行了更正。这是正确的做法吗?

1 个答案:

答案 0 :(得分:10)

使用默认编码而不是ASCII:

StreamReader sr = new StreamReader(infile);  
StreamWriter sw = new StreamWriter(outfile, false, Encoding.Default);  

// invoke the ReadToEnd method
sw.WriteLine(sr.ReadToEnd());  

sw.Close();  
sr.Close();