CR LF,LF和CR换行类型之间的区别?

烂漫一生 提交于 2019-12-25 19:58:45

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我想知道CR LF(Windows),LF(Unix)和CR(Macintosh)换行类型之间的区别(如果可能,还带有示例)。


#1楼

实际上,实际上是关于文件中存储哪些字节。 CR是用于回车(从打字机时代起)的字节码,而LF用于换行的字节码。 它仅指代作为行尾标记放置的字节。

与往常一样,在Wikipedia上获取更多信息。


#2楼

CR和LF是控制字符,分别编码为0x0D (十进制13)和0x0A (十进制10)。

它们用于标记文本文件中的换行符。 如您所指出的,Windows使用两个字符CR LF序列。 Unix仅使用LF,而旧的MacOS(OSX之前的MacIntosh)使用CR。

伪历史的观点:

正如Peter所指出的 ,CR = 回车 ,LF =换 ,这两个表达式都起源于旧的打字机/ TTY。 LF向上移动纸张(但保持水平位置不变),CR返回“托架”,以便键入的下一个字符将位于纸张的最左侧位置(但在同一行上)。 CR + LF两者都在做,即准备输入新行。 随着时间的流逝,代码的物理语义不再适用,并且由于内存和软盘空间非常宝贵,因此某些OS设计人员决定只使用其中一个字符,而彼此之间的交流并不很好。 -)

大多数现代的文本编辑器和面向文本的应用程序都提供选项/设置等,这些选项/设置允许自动检测文件的行尾约定并相应地显示它。


#3楼

基于ASCII或兼容字符集的系统分别使用LF(换行,0x0A,十进制10)或CR(回车,0x0D,十进制13)或CR后跟LF(CR + LF,0x0D 0x0A); 这些字符基于打印机命令:换行指示应将一行纸从打印机中送出,回车指示打印机托架应返回到当前行的开头。

这是细节


#4楼

这是一个很好的总结,我发现:

回车符(CR)字符( 0x0D\\r )将光标移动到该行的开头,而无需前进到下一行。 在Commodore和早期Macintosh操作系统(OS-9和更早版本)中,此字符用作换行符。

换行(LF)字符( 0x0A\\n )将光标向下移动到下一行而不返回到行首。 该字符在基于UNIX的系统(Linux,Mac OSX等)中用作换行符

行尾(EOL)序列( 0x0D 0x0A\\r\\n )实际上是两个ASCII字符,是CR和LF字符的组合。 它将光标向下移动到下一行和该行的开头。 在大多数其他非Unix操作系统(包括Microsoft Windows,Symbian OS和其他操作系统)中,此字符用作换行符。

资源


#5楼

CR-ASCII码13

LF-ASCII码10。

理论上CR将光标返回到第一个位置(在左侧)。 LF向下移动一行,将光标移入一行。 过去,这就是您控制打印机和文本模式监视器的方式。 这些字符通常用于标记文本文件中的行尾。 不同的操作系统使用不同的约定。 如您所指出的,Windows使用CR / LF组合,而OSX之前的Mac仅使用CR等。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!