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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章