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

我尝试使用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编码的文件。

有人有想法吗?

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

有关详细信息,请参阅Unicode,UTF,ASCII,ANSI格式差异 。