【发布时间】:2018-08-15 19:26:57
【问题描述】:
这是将字符串写入文件的代码
System.IO.File.WriteAllText("test.txt", "P ");
基本上是字符'P'后跟总共513个空格字符。
当我在 Notepad++ 中打开文件时,它似乎很好。但是,当我在 Windows 记事本中打开时,我看到的只是乱码。
如果我添加 514 或 512 而不是 513 空格字符,则它可以在记事本中正常打开。
我错过了什么?
【问题讨论】:
-
请使用
"P" + new string(' ', 513) -
记事本错误地检测到文件编码。
File.WriteAllText(string,string)默认使用 UTF-8。 -
见the Notepad file-encoding problem。如果您想解决问题,请指定 UTF-8 并以 BOM 开头。
-
@amyn 他的建议不是解决您的问题。这是为了缩短您的代码,因为一个字符串中的 513 个空格太疯狂了。
-
@amyn:这是因为写作时间短,而不是解决方案。
标签: c# notepad++ notepad writefile writealltext