当我们谈论打印机时,它们通常有一个打印头,这个头会在打印纸上移动,逐行打印字符。在早期的打印技术中,打印头移动到新行的开头需要两个动作:
回车(Carriage Return): 这个动作将打印头移动到当前行的开头位置。换句话说,它将打印头从当前位置移动到同一行的起始位置,但不会换行。
换行(Line Feed): 这个动作将打印头移动到下一行的起始位置。也就是说,它将打印头从当前行的起始位置移动到下一行的起始位置。
因此,在早期的打印技术中,要在新行开始打印文本,打印机需要先执行回车动作将打印头移动到当前行的开头,然后执行换行动作将打印头移动到下一行的起始位置。这两个动作合起来就是一个完整的“换行”。
在 ASCII 编码中,回车符的编码是CR(十进制值为 13,十六进制为 0x0D),而换行符的编码是LF(十进制值为 10,十六进制为 0x0A)。在早期的计算机系统中,表示新行的惯例就是将回车符和换行符组合在一起,即CR LF,这样就表示一个完整的新行。
因此,Windows 和早期的 DOS 系统继承了这种传统,使用CR LF(即\r\n)作为换行符的标准。而 Unix 和类 Unix 系统(如 Linux、macOS 等)则使用\n作为换行符,这只表示换行动作,不包括回车动作。
领取专属 10元无门槛券
私享最新 技术干货