大家在写文档或者写代码时都经常会用到换行操作,实际上我们都是使用键盘上的回车键进行换行。那么,今天的问题来了,在按下回车键时系统做了哪些处理?回车键盘只是换行吗?回车和换行是同一回事吗?但实际并非完全如此。
回车键
这个就要从键盘的历史说起了,键盘其实早在18世纪就已经有了,那个时候还没有计算机,它最早是应用在打字机上,而且,打字机各种各样相应的键盘也是各式各样。后来,打字机之父克里斯托夫·拉森·肖尔斯重新设计出了打字机并规范了键盘,就是现在我们用的QWERTY键盘,他将最常用的几个字母安置在相反方向,这样可以放慢敲键速度以避免卡键,因为早期的机械结构的键盘按照字母顺序排列会特别容易卡键。到了20世纪计算机的发明,键盘也作为一种基本输入设备被应用到计算机上。如下图,大佬沃兹尼亚克制作的APPLE第一代计算机,虽然主板还是一块裸露的电路板,但是他已经有了键盘作为输入外设。
APPLE I 计算机
我们再来看看什么是回车键,在打字机上有一个叫字车的部件,在打字的时候它会根据所打的字符向前移动,当移动到每一行的结尾处时,我们就不能再继续打字下去了,这时就需要我们手动将字车推到起始位置。推字车这个动作将会发生两种情况,一是字车归位回到行首,二是滚筒向上滚动一行,以便可以输入下一行。这个动作其实就是回车,后来到了电动打字机时代键盘上就增加一个按键来完成同样的作用,这就是回车键的由来。
打字机
那么,在计算机上是如何处理回车键的呢?关于这个问题,其实在不同的操作系统处理方法是不一样的。在Windows上是使用\r\n两个字符来表示,而linux是使用\n字符来表示。字符\r是将字符移动到当前的行首,对应的ASCII码是13,也可用CR表示(Carriage Return)。字符\n是将字符移动到下一行的行首,对应的ASCII码是10,也可用LF表示(Linefeed)。
ASCII码表
因此,大家在平时在Windows上创建的文件在linux系统上打开时,就会发现每行的结尾会多出一个^M符号,而在linux上创建的文件在windows里打开,所有的内容就会显示在一行上。
Windows创建Linux打开
Linux创建Windows打开
,Copyright © 2008-2022 秒下下载站
m.down10s.com .All Rights Reserved