我在我的iPhone应用程序中将文本数据输出到文件中。当使用Windows记事本打开时,数据全在一行上,并且应该有换行符的地方出现了一个块字符(显示为未识别的字符或其他什么东西)。但是,在使用Windows写字板打开时,它会正常显示。
我的代码有什么问题吗?当我想要新的一行时,我只是简单地输出'\n'。
注意:在Mac上的TextEdit、MS Word以及Windows上的其他编辑器中都能正常工作。
我在我的iPhone应用程序中将文本数据输出到文件中。当使用Windows记事本打开时,数据全在一行上,并且应该有换行符的地方出现了一个块字符(显示为未识别的字符或其他什么东西)。但是,在使用Windows写字板打开时,它会正常显示。
我的代码有什么问题吗?当我想要新的一行时,我只是简单地输出'\n'。
注意:在Mac上的TextEdit、MS Word以及Windows上的其他编辑器中都能正常工作。
Windows默认使用\r\n
作为行尾标记。Notepad只有识别这个标记,其他文本编辑器可能知道其他行尾样式并能正确地呈现。
编辑
正如VonC的答案所述,Notepad已经更新(在2018年)可以识别非Windows行尾序列。
当我想要新的一行时,我只需输出 '\n'。
从2018年5月开始(6年后),您将获得一个新行!
请参见Notepad中扩展行结束支持的介绍,由Michel Lopez(和他的推文)提供。
多年来,Windows记事本仅支持包含Windows行尾(EOL)字符 - 回车符(CR)和换行符(LF)的文本文档。这意味着记事本无法正确显示在Unix、Linux和macOS中创建的文本文件的内容。\n
并不能完全代表一行的换行符。使用\n
是“Unix”风格的换行方式。