怎样\r\n不同的?我认为这与Unix vs. Windows与Mac有关,但我不确定它们是如何与众不同的,以及在Regexes中搜索/匹配的情况。

答案

他们是不同的角色。\r是马车返回,\n是线馈。

在"旧"打印机上,\r将打印头发送回线的开始,然后\n用一行提出纸张。因此,两者都是开始在下一行上打印的必要条件。

显然,现在这有些无关紧要,尽管取决于控制台,您仍然可以使用\r移至行的开始并覆盖现有文本。

更重要的是,Unix倾向于使用\n作为线路分离器;窗户倾向于使用\r\n作为线路分离器和Mac(最大OS 9)用过的 使用\r作为行分隔符。(Mac OS X是Unix-Y,因此使用\n反而;可能有一些兼容性情况\r虽然被使用。)

有关更多信息,请参阅维基百科换行文章

编辑:这对语言敏感。例如,在C#和Java中\n 总是表示Unicode U+000A,定义为线供稿。在C和C ++中,水有点混乱,因为含义是特定于平台的。有关详细信息,请参见评论。

来自: stackoverflow.com