什么是 CR 和 LF
2022-11-09 11:46:57
CR:Carriage Return,对应 ASCII 中转义字符 `\r`,表示回车
LF:Linefeed,对应 ASCII 中转义字符 `\n`,表示换行
CRLF:Carriage Return & Linefeed,`\r\n`,表示回车并换行
Windows 操作系统采用两个字符来进行换行,即 CRLF;Unix/Linux/Mac OS X 操作系统采用单个字符 LF 来进行换行;另外,MacIntosh 操作系统(即早期的Mac操作系统)采用单个字符 CR 来进行换行。
在很久以前的机械打字机时代,CR 和 LF 分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR 则会将 “Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。
![type.png](https://static.daimaku.net/post/202211/09/cb64753d602044d98086093357f079cd.png)
CR 和 LF 是在计算机终端还是电传打印机的时候遗留下来的东西。电传打字机就像普通打字机一样工作。在每一行的末端,CR 命令让打印头回到左边。
LF 命令让纸前进一行。虽然使用卷纸的终端时代已经过去了,但是,CR 和 LF 命令依然存在,许多应用程序和网络协议仍使用这些命令作为分隔符。