这让我发疯。我想读取一些用 Windows-1252 编码的文本文件(位于我的项目目录之外),将它们编辑为字符串,然后写回这些文件,再次作为 Windows-1252。然而,Visual Studio 不断地生成 UTF-8 文件。
这是我的文件读取代码:
using (StreamReader sr = new StreamReader(fileName, Encoding.Default))
{
String s = sr.ReadToEnd();
return s;
}
这是我的文件写入代码:
File.WriteAllText(fileName, joinedFileString, Encoding.Default);
在这两者之间,我执行了各种编辑,包括添加、删除和 grepping 换行符,但我认为这些将通过在 File.WriteAllText 中指定编码以正确的编码解决。请注意,我在 Visual Studio 的高级保存选项中将默认编码更改为 1252。因此 Encoding.Default 应该指正确的编码。
但它不断将文件转换为 UTF-8!:-(
相关分类