r與n到底有何區別,編碼的時候又應該如何使用,我們下面來了解一下。
區別:
\r:
全稱:carriage return (carriage是“字車”的意思,打印機上的一個部件)
簡稱:return
縮寫:r
ASCII碼:13
作用:把光標移動到當前行的最左邊
\n:
全稱:new line
別名:line feed
縮寫:n
ASCII碼:10
作用:把光標向下移動一行
不同操作系統怎樣表示“回車+換行”(即一行的結束):
Unix、Linux:\n表示回車+換行,\r沒什么意義
Windows、DOS:\r\n表示回車+換行,順序不能變
Mac:\r表示回車+換行
歷史:
機械的英文打字機:在打字機上,有一個部件叫“字車”(carriage),每輸入一個單詞,“字車”就前進一格。當輸滿一行后,使用者就要推動“字車”到起始位置,這時打字機會有兩個動作:“字車”歸位、滾筒(roller)上卷一行(相當于“字車”下移一行),以便開始輸入下一行。這兩個動作合起來叫做“回車”,相當于現在鍵盤中的“Enter”鍵。
電傳打字機:(Teletype Model 33,Linux/Unix下的tty概念也來自于此)每秒鐘可以打10個字符。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字符。要是在這0.2秒里面,又有新的字符傳過來,那么這個字符將丟失。
于是,研制人員想了個辦法解決這個問題,就是在每行后面加兩個表示結束的字符。一個叫做“回車(return)”,告訴打字機把打印頭定位在左邊界;另一個叫做“換行(newline)”,告訴打字機把紙向下移一行。后來這兩個動作被縮寫為“\r”和“\n”。
編程語言中如何使用:
因為Unix中是用“\n”表示一行的結束,所以在C語言(以及其他C語言的繼承者,比如C++, Java)中可以直接使用“\n”,在不同的操作系統中會被自動轉換成相應的字符(比如在Windows中會被轉成“\r\n”)。
以上就是本文的全部內容,希望大家能夠喜歡。