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

时间:2010-09-29 13:00:19

标签: string special-characters line-endings

它们都意味着“新线”但是什么时候用于另一个?

8 个答案:

答案 0 :(得分:28)

\r\n Windows 样式

\n POSIX 样式

\r是使用 POSIX 风格的 pre-OS X Macs 样式,现代Mac


\r是一个carrige返回,\n是换行符,在旧计算机中没有监视器,只有打印机将程序结果输出给用户,如果您想从左侧开始从新线开始打印,则必须获取换行\n,并获取回车\r最左边的位置,这是从 Windows 平台上保存到旧计算机语法。

答案 1 :(得分:3)

\ n只是换行符,\ r \ n是换行符和回车符(即将光标向左移动)。

答案 2 :(得分:3)

\ n表示换行。这意味着光标必须转到下一行。

\ r \ n表示回车。这意味着光标应该返回到行的开头。

Unix和Unix程序通常只需要一个新行(\ n)。

Windows和Windows程序通常都需要两者。

答案 3 :(得分:1)

'\ n'是Unix中的默认值,'\ r \ n'是Windows中的默认值。

答案 4 :(得分:1)

不同的操作系统以不同的方式处理换行符。以下是最常见的简短列表: DOS和Windows

他们希望换行符是两个字符的组合,即'\ r \ n'(或13后跟10)。

Unix(以及Linux也是如此)

Unix使用单个'\ n'来表示新行。

的Mac

Mac使用单个'\ r'。

因此,当您使用文件夹路径等时,将应用程序从Windows移植到Mac时会导致问题。

答案 5 :(得分:1)

这是操作系统Windows(\ r \ n)和linux(\ n)

中新行的表示方式

在Unix上,\ r \ n是回车符(CR)和 \ n换行符(LF)一起恰好是Windows换行符 标识符,您将使用Unix换行标识符替换它们。

在Windows上,\ r \ n也是CR,但是\ n是CR和LF的组合。所以 实际上,你试图用CR + LF取代CR + CR + LF。做得不多 是的,是吧。

来自“perldoc perlop”: 所有系统都使用虚拟“”\ n“”来表示行终止符, 称为“换行符”。没有不变的,物质的东西 换行符。操作系统只是一种幻觉, 设备驱动程序,C库和Perl都密谋保留。不是全部 系统读取“”\ r“”作为ASCII CR和“”\ n“”作为ASCII LF。例如,开启 一台Mac,这些都是相反的,并且在没有线路终结器的系统上, 打印“”\ n“”可能不会发出实际数据。一般情况下,使用“”\ n“” 表示系统的“换行符”,但在您使用时使用文字ASCII 需要一个确切的角色。例如,大多数网络协议都希望如此 并且更喜欢CR + LF(“”\ 015 \ 012“”或“”\ cM \ cJ“”)用于行终止符, 虽然他们经常只接受“”\“”,但他们很少容忍 “” \ 015 “”。如果你习惯使用“”\ n“”来建立网络,那么你 有一天可能会被烧掉。

答案 6 :(得分:0)

区别在于不同的操作系统,在Windows上,换行符是\r\n,而在Linux上它只是\n Mac OSX只有\r它真的只是一个问题操作系统的设计者使它成为

答案 7 :(得分:0)

在C#中,您可以使用Environment.NewLine