什么行结尾用于跨平台兼容性?

时间:2014-01-23 06:05:32

标签: windows unix cross-platform text-files line-endings

我的网络应用可让用户下载文本文件。目前,文本文件具有Unix风格的\n行结尾,因此,当在Windows上的记事本(以及可能的其他Windows实用程序)中打开时,缺少换行符。由于Notepad在我的用户中很受欢迎,我正在考虑将行结尾更改为Windows风格的\r\n。但这会在非Windows平台或替代编辑器上引起某些问题吗?

(旁注:碰巧这些文件是在运行中生成的,所以我可以在用户操作系统上调整行结束格式,但此时我正在尝试简约,并且只是好奇顺便说一句。顺便说一下,使用Django。)

1 个答案:

答案 0 :(得分:4)

我认为最好的选择是让用户决定。给他们一个下拉框,选择Windows / UNIX / Mac样式行结尾。您可以将文件规范化为UNIX样式结尾,因为它们最容易使用。

我不确定您是否可以生成具有通用样式的行结尾的文本文件。大多数工具(如git)会对其文件进行规范化,并让用户配置他们喜欢的输出样式。杰夫撰写了a great article on line endings,其中涉及一些历史背景。