专栏名称: 程序猿
本微信公众号:imkuqin,为程序员提供最新最全的编程学习资料的查询。目前已经开通PHP、C/C++函数库、.NET Framework类库、J2SE API查询功能。
目录
相关文章推荐
程序猿  ·  Linux 版微信正式官宣,居然选了这个 ... ·  2 天前  
程序员的那些事  ·  趣图:当我调试其他程序员的代码之时 ·  2 天前  
程序员的那些事  ·  趣图:开发的常见借口之一 ·  6 天前  
程序员的那些事  ·  微信 Linux ... ·  6 天前  
码农翻身  ·  真的建议赶紧搞个软考证书!(红利期) ·  1 周前  
51好读  ›  专栏  ›  程序猿

你知道「回车」和「换行」的来历和区别么?

程序猿  · 公众号  · 程序员  · 2017-01-14 17:40

正文

来自:阮一峰的网络日志

链接:www.ruanyifeng.com/blog/2006/04/post_213.html(点击尾部阅读原文前往)


总算搞清楚”回车”(carriage return)和”换行”(line feed)这两个概念的来历和区别了。


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


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


这就是”换行”和”回车”的来历,从它们的英语名字上也可以看出一二。


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


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



●本文编号2183,以后想阅读这篇文章直接输入2183即可。

●本文分类“底层,搜索分类名可以获得相关文章。

●输入m可以获取到文章目录

本文内容的相关公众号推荐

Linux学习

Java编程


更多推荐15个技术类公众微信

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。