0

我读过一些关于回车(CR)和换行(LF)之间区别的文章。据我所知,它们在生成新行时是相同的。但是当我像 \r\n 一样将它们放在一起时,换行只会发生一次。当我像 \n\r 那样改变那里的顺序或在它们之间插入一些像 \rblablabla\n 这样的东西时,换行会发生两次。谁能告诉我为什么?这是因为我的 Windows 操作系统将 CR 后面紧跟一个 LF 作为单个转义字符吗?

4

2 回答 2

1

CR 和 LF 只是字符。另一个概念开始发挥作用:换行符,计算系统中用于定义新行何时开始的约定。一些主要的选择只是一个 LF,就像在 Unix 中一样;只是 CR,就像在 MacOS(前 OS X)中一样;和 CRLF,在 MSDOS 和后来的 Windows 中。

有用的工具通常会容忍并接受除操作系统标准之外的其他形式。您可以在编程语言(例如 Python)和许多文本编辑器中看到这一点。所以发生的事情是您使用的工具不仅支持 CRLF 作为换行符。由于 LFCR 与 CRLF 不同,因此它被视为两个换行符。我认为这不是 Windows 级别的,而是特定应用程序;例如,记事本无法以任何有用的方式使用 LF 显示文件。

于 2011-08-05T09:01:29.100 回答
0

我相信,Windows 识别 CR、LF 和 CRLF,但不识别 LFCR,因此它被解释为(因为没有更好的词)为 LF,然后是 CR,导致两个结束行。如果我错了,有人评论并纠正我,只是冒险猜测

于 2011-08-05T05:57:16.120 回答