理解CR/LF/CRLF


CR、LF、CRLF是什么

  • CR:Carriage Return,對應ASCII轉義字符\r,表示回車
  • LF: Linefeed,表示ASCII轉義字符\n,表示換行
  • CRLF: Carriage Return & Linefeed, 即\r\n

在Windows系統中使用\r\n(即CRLF)表示回車換行;
在Unix/Linux/Mac 操作系統中則使用\n(即LF)表示換行;
在Maclntosh操作系統(早期的Mac操作系統)中,使用\r(即CR),表示換行。

為什么會出現CR/LF/CRLF

在很久以前的機械打字機時代,CR和LF分別具有不同的作用:LF會將打印紙張上移一行位置,但是保持當前打字的水平位置不變;CR則會將“Carriage”(打字機上的滾動托架)滾回到打印紙張的最左側,但是保持當前打字的垂直位置不變,即還是在同一行。

當CR和LF組合使用時,則會將打印紙張上移一行,且下一個打字位置將回到該行的最左側,也就是我們今天所理解的換行操作。

雖然現在機械打字機漸漸地退出了歷史舞台。但是回車換行在計算機操作系統中確實必要的,而在計算機中回車換行實則為同樣的結果,不再像打字機那樣了,計算機的回車換行都是切換到下一行的行首位置了。在操作系統出現的年代,一些操作系統的設計者決定采用單個字符來表示換行符(也許是受限於內存和軟盤空間的不足),如Unix的LF、MacIntosh的CR;但是想windows則是使用兩個字符表示。他們的意圖都是為了進行換行操作,只是當初並沒有一個國際標准,所以才有這樣字符上的不同。

 附

在使用開發編寫代碼中,有時候會遇到文件使用了不同的回車換行符,而導致明明沒有改動代碼,但是卻提示代碼有變更。此時我們只需確定使用統一的回車換行符即可。通常windows下使用的是CRLF.


免責聲明!

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



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