\r 与 \n 的区别,以及 \r\n 的用法

作者:haobinghui 时间:2019-05-15 浏览:694 次

\r是回车,英文是Carriage return,作用:使光标到行首
\n是换行,英文是New line/line feed,作用:使光标下移一行
\r\n表示回车换行

如果用过机械打字机,就知道回车和换行的区别了。
回车就是把水平位置复位,不卷动滚筒。
换行就是把滚筒卷一格,不改变水平位置。

我们平时所说的键盘Enter键换行实则应该叫做叫做回车换行(\r\n)

我们在平时使用电脑时,已经习惯了回车和换行一次搞定,敲一个回车键,即是回车,又是换行。


看到一种说法:
windows下enter是 \r\n;
linux/unix下是\n;
mac下是\r


Windows 采用 \r\n 是有原因的,Windows 采用了传统的英文打字机的模式。
想想看英文打字机是如何换行的呢?英文打字机是选择将小车退回至起点,这个过程称为回车(carriage return, CR),随后把小车调至下一行的位置,这个过程称为换行(line feed, LF),这样就完成了英文打字机中换行过程。

回车(CR)在计算机中使用 ASCII 为 13 的字符来表示(0x0D),换行(LF)使用
ASCII 为 10 的字符来表示(0x0A)。

注意:
1、windows下可直接使用\n来匹配换行符,但仍然推荐使用标准的\r\n来匹配键盘Enter键的换行符;
2、使用\r\n组合是有顺序的,调转顺序写成\n\r是错误的,将无法匹配换行符!

--------------------------------------------------------------------------------------------------------------------

1、\n 软回车:

在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。
在Linux、unix 中只表示换行,但不会回到下一行的开始位置。

2、\r 软空格:

在Linux、unix 中表示返回到当行的最开始位置。
在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。

3、\t 跳格(移至下一列)。

它们在双引号或定界符表示的字符串中有效,在单引号表示的字符串中无效。
\r\n 一般一起用,用来表示键盘上的回车键,也可只用 \n。
\t表示键盘上的“TAB”键。
就像你使用 enter和shift+enter的区别

4、文件中的换行符号:

linux,unix: \n
windows : \r\n
Mac OS : \r

5、常用转义符号的意义:

\n  LF或ASCII中的0x0A(10)
\r  CR或ASCII中的0x0D(13)
\t  水平制表符-HT或ASCII中的0x09(9)
\\  反斜杠
\$  美圆符
\"  双引号
\'  单引号


6、"\r\n"与"</br>"的区别

\r\n是输出的HTML代码换行,客户看到的效果没有换行。
如果是输出给浏览器,就用<br/>
\r\n,好比你在Sublime里做一个网页,在源代码里按一下回车,是给源代码回车换行。
是输出一个(HTML标记性语言),在HTML中解释为输入的字换行。 \r\n的作用是给源代码回车换行,输入后,查看html源代码,就看会到有换行,而HTML解释器(浏览器)认为它是没用的东西,用不用都一样显示。

标签: