标签:
回车:Carriage Return。Carriage,运输,输送,火车车厢,马车。
换行:Line Feed。Feed,在原有意义上引申,表示用来接收信息来源更新的接口。
换行的意思很明白,可是为什么叫做回车呢,回车的意义到底是什么。
OK,先来说一下他们的由来。
计算机出现之前,有一种电传打字机Teletype Model33,每秒钟可以打10个字符。但是既然是打印机,打印完一行是要换行的,而换行需要用去0.2秒,这个时间刚好可以打两个字符,如果这0.2秒有新的数据传过来就会导致数据丢失。
于是机制的研究人员就想了个办法,每行后面加上两个表示结束的字符。一个叫做回车,另一个叫做换行。
回车是告诉打字机,要把打印头定位在左边界,另一个叫做换行,打印头要向下移一行。
现在,回车的含义就不得而知了,当打印头打到一行的结束时,还要再移动回来,然后再移向下一行。原来如此。
可是故事还没完,后来发明了计算机。随着发展,操作系统界逐渐热闹了,一些人认为加两个字符太浪费了,存储器又不是不要钱的。加一个就可以了。于是就出现了下面这种情况:
windows:每行的结尾是<回车><换行>
unix:每行的结尾是<换行>
Mac:每行结尾是<回车>
一个最直接的后果,windows的文件在其他操作系统里打开就会多出一个符号(这个符号通常是^M),而其他系统的文件放在windows下就会变成一行。
在解析文本时或其他格式的文件内容时,常常碰到判断回车换行的地方,这时既要判断回车,又要判断换行。
最后,看看它们的转义符和ASCII码,
‘\n‘ 10 换行 newline
‘\r‘ 13 回车 return
标签:
原文地址:http://www.cnblogs.com/AaronCui/p/4911099.html