标签:
0. Introduction:
我们通常所说的回车换行,即文本文件的一行结束,开始新的一行,这个概念英文叫做End-of-Line,简写为EOL,你也可以把它理解为一个逻辑上的换行,但是这个相同的概念在不同的操作系统中却由不同的ASCII码(0x0a, 0x0a0x0d, 0x0d)组成,为了避免混淆,我们后面都称这个统一逻辑上的概念为EOL。
1.History
很久很久以前,在电脑还没有出现的时候,人们电传打字机来通信,(即TeTypewriter,TeleTYpewriter,提取单词的前三个英文字母缩写为tty),有一款电传打字机叫Teletype
Model 33 ASR 如下图:
电传打字机,它的前身是机械打字机(TypeWriter),
打字机有一个部件叫叫Carriage,中文名叫作字车,它是打字头,相当于打字机的光标,每输入一个字符,Carriage钱一斤一个,当输满一行后,想要另起一行是,需要打字机在水平和竖直方向上分别完成两个动作:水平方向上将Carriage移动到一行的起始位置,竖直方向上将纸张向上移动一行。在老式的机械打字机上需要旋转打字机侧面的卷轴:
字头相对纸相当于向下移动了一行,然后继续输入下一行。这两个动作分别对应着:
Carriage Return(CR),也即回车,它在ASCII表中的值为0x0D,可以用转义符\r表示
Line Feed(LF),也即换行,它在ASCII表中的值为0x0A,可以用转义符\n表示
然后这两个概念被拿到了计算机中来
Linux中换行仅仅由一个字符\n,表示
Windows中换行由两个字符\r\n表示
未完待续。。。
参考资料:回车换行的故事 - http://www.admin10000.com/document/5685.html
进一步阅读:http://zhidao.baidu.com/link?url=XhJOx-aUdOoPqeHiAq9WWsWB4Mi1lMYFDacIwY5_LkbJRYu2qd-KPVx_gUQFj8W1EVGRVewQni__llUNM7RRna
总结下Windows, Linux, Mac系统下的换行符差异
标签:
原文地址:http://blog.csdn.net/u010760567/article/details/51346640