'\r'是回車,前者使游標到行首,(carriage return)'\n'是換行,後者使游標下移一格,(line feed)
\r 是回車,return
\n 是換行,newline
對於換行這個動作,unix下一般只有乙個0x0a表示換行("\n"),windows下一般都是0x0d和0x0a兩個字元("\r\n"),蘋果機(mac os系統)則採用回車符cr表示下一行(\r)
unix系統裡,每行結尾只有「《換行》」,即「\n」;
windows系統裡面,每行結尾是「《回車》《換行》」,即「\r\n」;
mac系統裡,每行結尾是「《回車》」,即「\r」。
乙個直接後果是,unix/mac系統下的檔案在windows裡開啟的話,所有文字會變成一行;而windows裡的檔案在unix下開啟的話,在每行的結尾會多車乙個^m字元。
dos和windows採用回車+換行cr/lf表示下一行,即^m$($不是換行符的表示,換行符沒有表示出來,$是文字結束eof的表示)
而unix/linux採用換行符lf表示下一行,即\n
蘋果機(mac os系統)則採用回車符cr表示下一行,即\r
cr用符號'\r'表示, 十進位制ascii**是13, 十六進製制**為0x0d;
lf使用'\n'符號表示, ascii**是10, 十六制為0x0a. 所以windows平台上換行在文字檔案中是使用 0d 0a 兩個位元組表示, 而unix和蘋果平台上換行則是使用0a或0d乙個位元組表示.
由於dos風格的換行使用\r\n,把這樣的檔案上傳到unix,有些版本的vi不能識別\r,所以vi顯示時在行尾會出現^m出來,但是有些就能識別\r\n,正常顯示回車換行。
回車符和換行符區別
首先介紹一下 回車 carriage return,r 和 換行 line feed,n 這兩個概念的來歷和區別。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個...
回車符和換行符區別
在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了個辦法解決這個問題,就是在每...
回車符和換行符區別
回車 carriage return,r 和 換行 line feed,n 這兩個概念的來歷在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒...