在硬盘存储中、文件的存储没有换行的概念。

换行这个东西是字符编辑器进行的一种处理、是让人能看懂得。

机器可以一行读取

所以有了这两个特殊字符。\r \n

先来个demo

图

在文本编辑器nodepad++中

图

相对照一下ASCII

ASCII

**回车 代码:CR ASCII码。/ r 。十六进制是0x0d,回车的作用只是移动光标至该行的起始位置;
\r 、的英文return, 简写:CR, 全称:Carriage Return。**

对应ASCII码为十六进制的0x0D,十进制的13

**换行 代码:LF ASCII码。/ n ,十六进制是0x0a,换行至下一行行首起始位置;
\n 、得英文newline,简写:LF,全称:Line Feed。**

对应ASCII码为十六进制的0x0A,十进制的10。

在系统中的表现

在Windows系统下,这两个字符就是表现的本义,所以你会看到有些程序员写的printf之类的函数代码中,最后包含\r\n,就是这个回车且换行的意思;

在UNIX类系统,换行\n就表现为光标下一行并回到行首、在MAC上,\r就表现为回到本行开头并往下一行。

所以,简单来说,就是一般的ENTER键:

在windows系统下 = \r + \n
在Unix类系统(Linux,…)下 = \n
在Mac系统下 = \r

历史来源

键盘的来源的是来自源于打字机。但当时是没有电脑的。键盘的来源就是打字机。\r\n就是线下兼容。

图

图一向上转、文字就换行了。打字键盘上也有换行键。

图

这是打字接近一行的时候。在最早打字是回到行首,是需要手动把轴轮复位的。打字机器是没有回到行首健位的。

下面这图是轴轮复位、对准打字位。

图

Last modification:January 30, 2020
如果觉得我的文章对你有用,请随意赞赏