【換行符】Windows、Unix、Mac不同作業系統的回車符 和換行符

anliux發表於2024-09-19

一、概念:

換行符‘\n’和回車符‘\r’

(1)換行符就是另起一行 --- '\n' 10 換行(newline)

(2)回車符就是回到一行的開頭 --- '\r' 13 回車(return)

所以我們平時編寫檔案的回車符應該確切來說叫做回車換行符

CR: 回車(Carriage Return) \rLF: 換行(Line Feed) \n

二、應用:

(1)在微軟的MS-DOS和Windows中,使用“回車CR('\r')”和“換行LF('\n')”兩個字元作為換行符;

(2)Windows系統裡面,每行結尾是 回車+換行(CR+LF),即“\r\n”;

(3)Unix系統裡,每行結尾只有 換行LF,即“\n”;

(4)Mac系統裡,每行結尾是 回車CR 即'\r'。

Mac OS 9 以及之前的系統的換行符是 CR,從 Mac OS X (後來改名為“OS X”)開始的換行符是 LF即‘\n',和Unix/Linux統一了。

三、影響:

(1)一個直接後果是,Unix/Mac系統下的檔案在Windows裡開啟的話,所有文字會變成一行;

(2)而Windows裡的檔案在Unix/Mac下開啟的話,在每行的結尾可能會多出一個^M符號。

(3)Linux儲存的檔案在windows上用記事本看的話會出現黑點。

四、可以相互轉換:

在linux下,命令unix2dos 是把linux檔案格式轉換成windows檔案格式,命令dos2unix 是把windows格式轉換成linux檔案格式。

在不同平臺間使用FTP軟體傳送檔案時, 在ascii文字模式傳輸模式下, 一些FTP客戶端程式會自動對換行格式進行轉換. 經過這種傳輸的檔案位元組數可能會發生變化.

如果你不想ftp修改原檔案, 可以使用bin模式(二進位制模式)傳輸文字。

一個程式在windows上執行就生成CR/LF換行格式的文字檔案,而在Linux上執行就生成LF格式換行的文字檔案。

END

相關文章