3

可能重复:
\r 和 \n 有什么区别?

我知道每个操作系统都不同,例如,在 Windows 中可能需要“\r\n”,在 Unix 中可能需要“\n”,而在 Mac 中可能需要“\r”。

这两个(或三个,如果你想包含“\r\n”)转义序列有什么区别?为什么它在所有系统中不一致?

我很好奇这个。

4

6 回答 6

31

'\r' 和 '\n' 之间的差是 3。

于 2009-08-30T22:41:26.950 回答
16

因为事实并非如此。

\r 表示“回车”。\n 表示“新队" 换行

一些系统非常明智地建议他们将光标移到新行所需的只是\n. 其他人认为 go 更合适\r\n,因为他们可能声称列位置也需要重置(即\r)。

有时在计算中事情就是“这样”。这是其中一种情况:)

于 2009-08-30T22:36:20.627 回答
7

接受的答案并不完全准确。事实上, \n 表示“换行”,而不是“换行”。区别很重要,因为这两个符号都可以追溯到电传打字机的时代,作为计算机而不是 CRT 或 LCD 的主要输出。对于电传打字机,将打印头移回第 1 列的动作和将纸张向上送入 1 行的动作是两个不同的动作。至于文件中行尾字符的不同约定的起源,其他答案正确地指出这只是历史上的好奇。

于 2009-08-30T23:12:27.637 回答
4

由于每个操作系统制造商做出的历史决定,它并不一致。至于差异,请参见此处的字符 12 和 15:http ://www.asciitable.com/

于 2009-08-30T22:35:06.060 回答
3

维基百科是你的朋友 :)

于 2009-08-30T22:34:33.423 回答
2

有些系统甚至没有行尾的概念。VAX/VMS 和 IBM VM 操作系统都支持不需要行尾标记的基于记录的文件。

于 2009-08-30T22:38:32.650 回答