“\ r”和“\ n”之间有什么区别?

时间:2009-08-30 22:31:40

标签: newline carriage-return linefeed

  

可能重复:
  What is the difference between \r and \n?

据我所知,每个操作系统都有所不同,例如,在Windows中可能会出现“\ r \ n”,在Unix中可能会出现“\ n”,而在Mac中可能会出现“\ r”。

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

我很好奇。

6 个答案:

答案 0 :(得分:29)

'\ r'和'\ n'之间的区别是3。

答案 1 :(得分:15)

因为它不是。

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

有些系统足够明智地建议将光标移动到新行所需的全部内容是\n。其他人认为更合适的是\r\n,因为他们可能声称列位置也需要重置(即\r)。

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

答案 2 :(得分:7)

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

答案 3 :(得分:4)

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

答案 4 :(得分:3)

答案 5 :(得分:2)

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