CR和LF

Posted 田野与天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CR和LF相关的知识,希望对你有一定的参考价值。

现在的电脑操作系统主要有windows、unix/linux、macos这三种。

首先,

  回车:英文(carriage return ),缩写CR

  换行:英文(line  feed),缩写LF

在window中,在一个文本结尾常常使用“《回车》《换行》”,"<CR><LF>"或者说是“\\r\\n”来表示一行结束

在unix和linux系统中,使用的是“《换行》”,"<LF>"或者说是"\\n"来表示一行结束

在macos中,使用的是“《回车》”,"<CR>"或者说是"\\r"来表示一行结束

 

然后,让我们看一下ASCII码表

这三者不统一会造成啥问题呢?

最多的就是,当一个文本文件从一个系统移动到另外一个系统的时候,会出现问题。举几个小的例子吧:

 

例子一:下面的浅色字体(\\r\\n)表示其实用户并不可见

  在windows下有一个文件,内容是这样的:

  

  first line\\r\\n

  second line\\r\\n

  third line\\r\\n 

 

这个文件到了unix/linux下的话,就会出问题,因为unix/linux只认识"\\n",不认识"\\r",所以用vim打开以后,文件是这样的

  

  我是第一行^M\\n

  我是第二行^M\\n

  我是第三行^M\\n

用户就会莫名看到多出来了一些^M在文件的末尾,不知道的以为文件乱码了,其实并不是的。

 

以上是关于CR和LF的主要内容,如果未能解决你的问题,请参考以下文章

CR, LF, CR/LF 回车 换行

CR, LF, CR/LF 回车 换行

CR LF CR/LF

ASCII中LF与CR区别?

CR和LF

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