學習Esperanto時用到一款叫做Kajero的軟件,支持世界語特殊字符編輯。
在Option菜單中有個選項,End of line
列出了四種換行方式
這四種都是由基本CR和LF組成。那么CR和LF分別代表了什么意義呢?
針對這個問題,我決定從CR與LF本身的詞源展開調查。
CR,英文全稱叫做Carrige Return,中文直譯“回車”(真的是“直譯”~~~)
LF,英文全稱叫做Line Feed,
CR與LF並非是計算機專業術語,而是打字機時代術語。
早在計算機發明之前,有一種電傳打字機,每秒鍾可打10個字符。
但是這種打字機每次換行需要0.2秒,剛好是打兩個字符所需要的時間。
如果在換行時又有新字符傳過來,那么將會丟失兩個字符。
為了解決這個問題,人們設計了兩個字符加在每行后面,表示一行的結束。
其一叫做“回車”(CR),表示將打字機的打字頭移動到改行的行首;
另一個叫做“換行”(LF),表示紙帶移動一行,相當於打字頭移動到下一行行首的位置。
這就是“換行”和“回車”的來歷。
后來計算機發明后,正如“菜單”這種餐飲業的術語被用到計算機上一樣,
打字機的這兩個概念也被用到了計算機上。
但是在不同操作系統上關於一行的結尾標記是不同的。這是因為他們采用的標准不同。
ISO標准支持CR+LF或單獨LF作為換行符。ASA僅支持LF
*nix 系統采用LF
Windows系統采用CR+LF,實際上早期的非unix系統,如DOS、Symbian和PalmOS都使用CR+LF
Mac系統里,每行結尾是CR
但是LF+CR卻並不常見。CR和LF順序可能影響不大。