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