StreamWriter中的Windows-1252编码返回ANSI编码文件

时间:2012-11-06 16:55:55

标签: c# string c#-4.0

我尝试使用StreamWriter在Windows-1252中编码字符串。输入字符串(dataString)以UTF8编码。

StreamWriter sw = new StreamWriter(@"C:\Temp\data.txt", true, Encoding.GetEncoding(1252));
sw.Write(dataString);
sw.Close();

当我在Notepad ++中打开文件时,我得到一个ANSI文件。我需要一个Windows-1252编码文件。

有人有想法吗?

1 个答案:

答案 0 :(得分:4)

您的文件是Windows-1252编码的。非Unicode文件中没有数据来指示文件的编码方式。在这种情况下,ANSI只意味着不是Unicode。如果你在哪里编码俄语/ Windows-1251并在Notepad ++中打开它,Notepad ++也会将它显示为ANSI。

有关详细信息,请参阅Unicode, UTF, ASCII, ANSI format differences