回车与换行的区别:CRLF、CR、LF

引言

以下是 MySQL 8 导出数据的窗口,导出数据时需要选择记录分隔符,这就需要你明白 CRLF、CR 和 LF 分别代表什么,有何区别,否则可能导出数据会出现莫名其米的问题。

名词解释
  • CR:Carriage Return,对应 ASCII 中转义字符 ,表示回车
  • LF:Linefeed,对应 ASCII 中转义字符 ,表示换行
  • CRLF:Carriage Return & Linefeed, ,表示回车并换行
ASCII 字符表

不同操作系统回车换行符区别

缩写 ASCⅡ转义 系统 ASCⅡ值
CR MacIntosh(早期的Mac) 13
LF Unix/Linux/Mac OS X 10
CRLF Windows
  • Windows 操作系统采用两个字符来进行换行,即CRLF;
  • Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;
  • 另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行
历史遗留问题

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

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

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

总结

许多现代的文本编辑器和命令行工具都提供了可选择的换行符配置,方便用户按照自己的意愿来改变换行符的表现形式,所以我们只需要知道 CRLF、CR、LF 的作用即可。

作者:Binge
本文版权归作者和博客园共有,转载必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/binbingg/p/14683117.html