CR和LF


聲明

本文轉自:CR和LF - 田野與天 - 博客園 (cnblogs.com)

以下為正文

現在的電腦操作系統主要有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在文件的末尾,不知道的以為文件亂碼了,其實並不是的。

 

補充

Linux下去掉^M的四種方法 - 習慣沉淀 - 博客園 (cnblogs.com)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM