回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n

1.先上结论

中文 英文 英文缩写 ASCⅡ转义 ASCⅡ值 系统
回车 Carriage Return CR \r 13 MacIntosh(早期的Mac)
换行 Linefeed LF \n 10 Unix/Linux/Mac OS X(现在的Mac)
回车并换行 CRLF \r\n Windows

回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n_第1张图片

回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n_第2张图片 

2.详解

很长一段时间里,对于CRLF、CR、LF的理解仅限于不同操作系统下对换行符的定义。所谓知其然需知其所以然,从学习中找到乐趣,对知识的记忆才会更加深刻。 

 回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n_第3张图片

老式机械打字机(来源:视觉中国)

据野史记载,在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。

当CR和LF组合使用时,则会将打印纸张上移一行,且下一个打字位置将回到该行的最左侧,也就是我们今天所理解的换行操作。

随着时间的推移,机械打字机渐渐地退出了历史舞台,当初的纸张变成了今天的显示器,打字机的按键也演变为了如今的键盘。在操作系统出现的年代,受限于内存和软盘空间的不足,一些操作系统的设计者决定采用单个字符来表示换行符,如Unix的LF、MacIntosh的CR。他们的意图都是为了进行换行操作,只是当初并没有一个国际标准(或者其他原因,鬼知道),所以才有这样字符上的不同。

3.注意点
在linux的脚本一定要换行是否是LF,否则导致不可预知的错误。也找不到原因,浪费很长时间。
4.示例-修改换行符
许多现代的文本编辑器和命令行工具都提供了可选择的换行符配置,方便用户按照自己的意愿来改变换行符的表现形式。

4.1.nodepad++回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n_第4张图片

4.2.IntelliJ IDEA

回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n_第5张图片 

4.3.美女

学完了,看看美女

回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n_第6张图片

 

你可能感兴趣的:(编码格式)