我是.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,é,í......”我在转换之前对其进行了更正。这是正确的做法吗?
答案 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();