改行Code(CR、LF、CR+LF)

CR:Carriage Return(回车)

LF:Line Feed(换行)

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

于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

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

Unix/Linux系统里,每行结尾只有“<换行>”,即"\n"

Windows系统里面,每行结尾是“<换行><回车 >”,即“\n\r”

Mac系统里,每行结尾是“<回车>”,即"\r"。

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

时间: 2024-10-12 14:20:06

改行Code(CR、LF、CR+LF)的相关文章

IDEA换行CRLF, LF, CR的解释和默认设置

在window下开发有一个大坑,就是换行默认是CRLF,也就是回车换行,但是Linux下只有换行LF,这样代码提交后,会出现编译问题,所以最好的办法是在IDEA下设置默认为LF. 首先我们先介绍CRLF,LF和CR这三种东西,CR是MAC老版本的做法,就是回车,但是后来的MAC系统统一换成LF了,LF是Linux下的做法,就是换行,这个做法比较自然.微软采用的是CRLF,看上去好像是兼容了CR和LF,但是实际完全不是那么回事,就是回车并换行,微软一直保持这种做法,开发人员大多在Linux下,所以

CR LF CR/LF

CR:Carriage Return,对应ASCII中转义字符 '\r' (0x0D),表示回车LF:Line Feed,对应ASCII中转义字符 '\n' (0x0A),表示换行CRLF:Carriage Return & Line Feed,'\r\n',表示回车并换行 在机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变: CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还

CR LF的由来

学习Esperanto时用到一款叫做Kajero的软件,支持世界语特殊字符编辑. 在Option菜单中有个选项,End of line 列出了四种换行方式 这四种都是由基本CR和LF组成.那么CR和LF分别代表了什么意义呢? 针对这个问题,我决定从CR与LF本身的词源展开调查. CR,英文全称叫做Carrige Return,中文直译“回车”(真的是“直译”~~~) LF,英文全称叫做Line Feed, CR与LF并非是计算机专业术语,而是打字机时代术语. 早在计算机发明之前,有一种电传打字机

计算机编码中的换行 CR与LF

以下的文字为转载,但是有错误的地方,博主自行进行了修正和补充,用红色标示. 原文地址在这里. ------------ 转载起始 ------------- "回车"(Carriage Return) 和 "换行"(Line Feed) 这两个概念的来历和区别. 1. 起源:电传打字机 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是

2017-07-19-CR 和 LF

CR 和 LF CR - Carriage Return 回车 LF - Line Feed 换行 Carriage 打字机滑轨.老式打字机,打字时,滑轨从左往右移动,一行打完了,需要把滑轨调回到最左边. Feed 进纸,每打完一行,需要把纸向上拉一行. 在 ASCII 中: CR, '\r', 13 LF, '\n', 10 每次 printf() 打印一行时,习惯在字符串最后添加 "\r\n".但不同操作系统的换行符也不一致: Unix/Linux 使用 '\n' 作为换行符 Wi

C语言中&lt;CR&gt;是什么意思

在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.Dos和windows采用回车+换行CR/LF表示下一行, 而UNIX/Linux采用换行符LF表示下一行,苹果机(MAC OS系统)则采用回车符CR表示下一行.CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D; LF使用'\n'符号表示, ASCII代码是10, 十六制为0x0A.所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a

换行符\r \n LF

前言:在对照PSR-2规范时,看到文件结尾必须要以Unix LF(linefeed)结尾,不懂查~ 来源于:http://www.cppblog.com/prayer/archive/2009/08/19/93854.html 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这0.2秒里面,又有新的字符

二维码详解(QR Code)

作者:王子旭链接:https://zhuanlan.zhihu.com/p/21463650来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 2016.7.5 更新:长文多图代码预警,电脑食用效果更佳. 完整版代码已上传 GitHub,后续一些有的没的的代码更新也都在GitHub上(https://github.com/LaytonW/qrcode) 给结尾的几个被自动识别的QR码做了防自动识别..顺便也检测一下我们这不怎么高的容错率(7%).要是再被知乎自动识别了

PatentTips - Method and Apparatus to Support Virtualization with Code Patches

BACKGROUND As recognized in Revision 2.0 of the Intel? Virtualization Technology Specification for the Intel? Itanium? Architecture (VT-I), dated April 2005 (hereinafter "the VT-I Specification"), conventional operating system (OS) designs typic