使用什么行结尾来实现跨平台兼容性?

Rex*_*exE 5 unix windows cross-platform line-endings text-files

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

(旁注:碰巧这些文件是动态生成的,所以我可以在用户的​​操作系统上调整行尾格式,但在这一点上,我试图做到简约,而且一般也只是好奇。使用顺便说一下,姜戈。)

aro*_*cks 4

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

我不确定您是否可以生成具有通用行结尾样式的文本文件。大多数工具(例如 git)都会标准化其文件,并让用户配置他们喜欢的输出样式。杰夫写了一篇关于行结尾的精彩文章,其中涉及一些历史背景。