代码之家  ›  专栏  ›  技术社区  ›  bryantsai

用Unix、Mac、DOS/Windows选择不同新行表示的基本原理?

  •  7
  • bryantsai  · 技术社区  · 15 年前

    有人知道不同平台的原始原理或故事吗?每个平台都选择了不同但在某种程度上类似的新行表示法。必须有一些最初的设计决策。(我不相信这都是随机选择…)

    • Unix/Mac OS X:lf(\n)
    • Mac OS 9及之前版本:cr(\r)
    • DOS/Windows:crlf(\r\n)
    2 回复  |  直到 11 年前
        1
  •  9
  •   Simon Kissane    11 年前

    杰夫·阿特伍德在 "The Great Newline Schism"

    维基百科涵盖了 history of newline .

    简而言之,CR+LF指的是电动打字机时代,当你第一次使用回车键将光标向左移动,而换行键则向下移动一行。有时,您只需使用其中一个或另一个字符来书写特殊字符,如下划线或删除线。

    慢性淋巴细胞白血病

    计算机采用了这个术语,因为它有助于与 teletype 机器。这就是MS-DOS和随后的Windows使用CRLF的原因。

    低频

    显然地, Multics 随后,Unix从1963-64年的ISO草案标准草案中得到提示,该草案表明CRLF或LF可以表示换行符,并使用单个LF字符。

    我仍然对苹果采用CR的历史有点困惑。我正在研究它… 到目前为止,我最好的猜测是,这是由于苹果公司在 enter and return keys . 在早期,回车键映射到回车,回车键映射到换行,而不是像在Windows世界中那样有一个执行双重任务的“回车”键。对于通常使用回车键进行特殊格式设置的打字机用户来说,将两者分开可能是有意义的,实际上,苹果使用回车键进行特殊格式设置选项。

    我不太确定的是,当他们放弃这一点时,他们是如何决定只使用cr的,但我猜这是从早期决定使用cr作为返回键开始的……但我可能错了。

        2
  •  2
  •   ta.speot.is    15 年前

    好的,\r\n是回车键,然后是换行键,这是用于从打字机的左列开始换行的相同键序列。