计算机的回车和换行到底是什么

445 阅读3分钟

这是我参与8月更文挑战的第24天,活动详情查看:8月更文挑战

日常开发和工作中,我们经常会用到键盘上的 Enter 键,很多人认为回车就是换行,这其实是键盘上的键给大家的错觉,其实在最初的计算机中,回车和换行是两个不同的概念。

更多文章在我的 Github 及个人公众号【全栈道路】上,欢迎观赏【一个不知名的足球狗的前端知识点】,如有受益,不要钱,小手点个Star。

阅读本文您将收获

  • 换行和回车的由来
  • 换行和回车的区别

换行和回车的由来

  • 在计算机还没有出现之前,有一种电传打字机,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

  • 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做 回车 ,告诉打字机把打印头定位在左边界;另一个叫做 换行 ,告诉打字机把纸向下移一行。

  • 后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

  • Unix 系统里,每行结尾只有 <换行>,即 \n

  • Windows系统里面,每行结尾是 <回车><换行> ,即 \r\n

  • Mac系统里,每行结尾是 <回车>

  • 一个直接后果是,Unix/Mac 系统下的文件在 Windows 里打开的话,所有文字会变成一行; 而 Windows 里的文件在 Unix/Mac 下打开的话,在每行的结尾可能会多出一个 ^M 符号。

换行 \n (line feed)

顾名思义是本行执行换行,光标会跑到下一行的前面,开始从下一行开始输入

  • 换到当前位置的下一行,而不会回到行首
  • 十六进制为: 0x0A
  • ASCII码: 10

回车 \r (carriage return)

车,指的是光标,每次输入的时候,车就会往前面跑(光标会往右移)。回车便是让车回到本行的最初位置

  • 回到当前行的行首,而不会换到下一行
  • 十六进制为: 0x0D
  • ASCII码: 13

参考资料: www.ruanyifeng.com/blog/2006/0…

写在最后

如果你觉得这篇文章对你有益,烦请点赞以及分享给更多需要的人!

欢迎关注【全栈道路】及微信公众号【全栈道路】,获取更多好文及免费书籍!
有需要【百度】&【字节跳动】&【京东】&【猿辅导】内推的也请留言哦,你将享受VIP级极速内推服务~

往期好文

【面试必问】前端的深拷贝和浅拷贝

提高开发效率的 Chrome 开发者工具高端使用技巧(一)

创建个性化的 Github 个人主页

微信 JS API 支付的实现

面试官问你<img>是什么元素时你怎么回答

特殊的JS 浮点数的存储与计算

[万字长文]百度和好未来面试经含答案 | 掘金技术征文

前端实用正则表达式&小技巧,一股脑全丢给你🏆 掘金技术征文|双节特别篇

冷门的 HTML tabindex 详解

几行代码教你解决微信生成海报及二维码

Vue3.0 响应式数据原理:ES6 Proxy

[前端面试]前端缓存问题看这篇,让面试官爱上你

如何优雅地画一条细线

[三分钟小文]前端性能优化-HTML、CSS、JS部分

[三分钟小文]前端性能优化-页面加载速度优化

[三分钟小文]前端性能优化-网络传输层优化