这两个都表示"新行",但是什么情况下会使用其中一个而不是另一个呢?
这两个都表示"新行",但是什么情况下会使用其中一个而不是另一个呢?
\r\n
是Windows风格。
\n
是POSIX风格。
\r
是旧版OS X Macs的风格,现代 Mac使用POSIX风格。
\r
是回车符,\n
是换行符,在早期计算机中只有打印机可以输出程序结果给用户,如果要从新的一行左侧开始打印,必须使用\n
作为换行符,使用\r
将光标移动到最左侧位置以获取回车符。这种语法源自早期计算机,并在Windows平台上保留至今。
\r
通常会映射到CR。 (如果目标系统使用EBCDIC,则\r
可能没有映射)。\n
比较棘手,因为它取决于上下文。它通常被映射到ASCII / Unicode行进制符,但情况并非总是如此简单。关于此问题的“可能重复”的回答中有详细信息。 - Adrian McCarthy\n代表换行。它意味着光标必须移到下一行。
\r代表回车符。它意味着光标应该回到行首。
Unix程序通常只需要一个换行符 (\n)。
而Windows程序通常需要两个(\r\n)。
\r
作为行终止符。由于 Mac OS X / OS X / macOS 是 Unix 系统,因此旧的约定被放弃,改用标准 Unix 约定的单个换行符。 - chepner\n代表换行,\r\n代表换行并回车(即将光标移到左侧)。
'\n' 是 Unix 中的默认换行符,'\r\n' 是 Windows 中的默认换行符。
不同操作系统之间的区别在于,在Windows中,换行符是\r\n
,而在Linux中只是\n
。Mac OSX仅使用\r
作为换行符。这实际上只是取决于操作系统的设计者们所做的选择。