C#使用带有ANSI编码的StreamWriter写入文件不起作用

时间:2018-01-09 17:57:12

标签: c# encoding streamwriter ansi

我想用ANSI编码写入文本文件。代码如下所示:

string text = "abc123";
string filePath = "C:\\Data\\MyFile.csv";

using (StreamWriter sw = new StreamWriter(File.Open(filePath, FileMode.OpenOrCreate), Encoding.Default))
{
    sw.Write(text);
}

当我用Notepad ++打开结果文件并点击菜单上的“编码”按钮时,我总是想要避免使用“UTF-8(无BOM)”。 我试图选择'转换为ANSI'选项,但保存文件后重新打开它仍然是'UTF-8。

我长期坚持这个问题,任何人都可以给出一些暗示吗?

2 个答案:

答案 0 :(得分:0)

StreamWriter没有问题,它就是Notepad ++的工作原理。你可以自己轻松看到它。只需打开经典窗口记事本,键入" test"和"另存为"使用ANSI编码。然后在Notepad ++中打开 - 它会将编码识别为UTF8。

答案 1 :(得分:0)

如果导出包含特殊字符(例如'é')的文本,则Notepadd ++将显示为ANSI而不是UTF-8的编码。

string text = "éçë";