不同系統的換行符
Windows、Unix、Mac不同操作系統的換行問題-剖析回車符\r和換行符\n
一、概念:
換行符‘\n’和回車符‘\r’
(1)換行符就是另起一行 --- '\n' 10 換行(newline)
(2)回車符就是回到一行的開頭 --- '\r' 13 回車(return)
所以我們平時編寫文件的回車符應該確切來說叫做回車換行符
二、應用:
(1)在微軟的MS-DOS和Windows中,使用“回車CR('\r')”和“換行LF('\n')”兩個字符作為換行符;
(2)Windows系統里面,每行結尾是 回車+換行(CR+LF),即“\r\n”;
(3)Unix系統里,每行結尾只有 換行CR,即“\n”;
(4)Mac系統里,每行結尾是 回車CR即'\r'。
三、影響:
(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格式換行的文本文件。
