1分钟彻底搞懂回车(\r)和换行(\n)的区别

本文详细解释了回车( )和换行( )在计算编程中的历史背景,以及它们在二战时期电传打字机中的作用。介绍了电子计算机时代后,不同操作系统对回车/换行处理的差异,导致文本文件在不同系统间打开时可能出现的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【写在最前】

我们在平时的计算编程学习中,经常会接触到回车(\r)和换行(\n)两个概念;
但是很多小白傻傻分不清楚他们之间的区别与联系,甚至是在查阅了很多资料之后仍然是云山雾罩。
通过本文知识,让我们花5分钟时间彻底搞懂他,相信聪明的你,看完一定会有收获。

#产生的历史原因:

二战中,出现了电传打字机。

这种打字机是机械式针头,每秒只能打印10个字符,当针头跑完第一行,从最右边下移到第2行的最左边时,需要耗时0.2秒,从而导致会丢失2个字符。
于是,研制人员想了一个办法:在每行后面加两个表示结束的字符,目的就是解决这个0.2秒的延迟问题

1)一个字符是: 回车(\r):CR(Carriage Return的缩写,Ascii码是13),告诉打字机需要“把打印头定位在行首”;
2)一个字符是: 换行(\n):LF(Line Feed的缩写,Ascii码是10),告诉打字机“把打印纸向下移动一行”;

在这里插入图片描述
二战中美国使用的打字机

业界现状:

电子计算机问世后,这两个概念也同时被引入。

因为存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就够了。

从此,计算机界就出现了分歧。
微软Windows系统:每行结尾有“<回车><换行>”,即“\r\n”
Unix/Linux系统: 每行结尾只有“<换行>”,即"\n"
苹果Mac系统: 每行结尾只有“<回车>”,即"\r"

由此产生的后果是:

Unix/Linux/Mac系统生成的文本文件,当在Windows里打开时,会变成一行;

而Windows文件在Unix/Linux/Mac系统下打开时,会在每行的结尾会多出一个^M符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值