总结下Windows, Linux, Mac系统下的换行符差异

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值