\n 泉粉、\r\n 換行還是回車換行
本文參考自:?http://www.yulongjun.com/linux/20170518-08-lf-cr/
我們打開Visual Studio Code編輯器强缘,可以看到右下角有這個(gè)LF匪凉,這是VS Code的默認(rèn)行尾序列的符號(hào):
點(diǎn)開后,我們可以到删壮,有兩種模式可選骂因,LF,CRLF:
為什么是這樣呢绍哎,這兩種模式有什么區(qū)別呢来农?
在Linux下,默認(rèn)換行的話崇堰,是LF模式沃于,見下圖兩個(gè)紅框部分:
Linux下創(chuàng)建的LinuxFIle文件涩咖,用Linux的編輯器在里面寫了三行文本。然后我用Python顯示出轉(zhuǎn)義符繁莹,可以看到是\n檩互,這里的\n就是指的是換行符(LF)
然后我們在Windows下用記事本,寫一個(gè)文件WindowsFile.txt咨演,然后上轉(zhuǎn)到Linux上去同樣的方法查看闸昨。可以看到是\r\n薄风,\r指的就是回車(CR)饵较,\r\n連起來就是回車換行(CRLF)
也就是說:在Linux里編輯文件,一行結(jié)束后跟的是\n遭赂;在Windows里用自帶的記事本編輯文件循诉,一行結(jié)束后跟的是\r\n
tips:在Windows下有很多編輯器,是默認(rèn)支持LF的方式撇他,如Visual Studio Code打洼、Sublime Text、Notepadd++逆粹,而且默認(rèn)的編碼格式是UTF-8募疮,所以,大家在Windows下寫Linux腳本僻弹,或打開Linux下的文件阿浓,可以用上面的編輯器,而不要用Windows自帶的記事本蹋绽。
CR和LF是縮寫芭毙,其實(shí)他們的全稱分別是:Carriage-Return和Line-Feed。追本溯源的說卸耘,CR(Carriage-Return)和LF(Line-Feed)這兩個(gè)詞來源于打字機(jī)的發(fā)明和使用退敦。
打字機(jī)的紙張向下卷動(dòng)一行,就是換行(LF,?Line-Feed)
將打印頭從最右邊歸位到最左邊蚣抗,就是回車(CR,?Carriage-Return)
如果把一個(gè)Windows記事本建立的文檔侈百,放到Linux里用的話,要用dos2unix來轉(zhuǎn)換一下后翰铡,再使用钝域。當(dāng)然最好的方法還是用專門的編輯器,不要用記事本锭魔。