不同作業系統中文字檔案換行符的區別

2021-06-12 14:19:47 字數 716 閱讀 6275

文字檔案的邏輯結構屬於流式檔案,採用ascii編碼標準儲存字元。 ascii標準使得只含有ascii字元的文字檔案可以在unix、macintosh、microsoft windows、dos和其它作業系統之間自由互動,而其它格式的檔案是很難做到這一點的。但是,在這些作業系統中,換行符並不相同,處理非ascii字元的方式也不一致。

在微軟的ms-dos和windows中,使用cr和lf兩個字元作為換行符。unix系統裡,每行結尾只有「《換行》」,即「\n」;windows系統裡面,每行結尾是「 《回車》《換行》」,即「\r\n」;mac系統裡,每行結尾是「《回車》」。乙個直接後果是,unix/mac系統下的檔案在windows裡開啟的話,所有文字會變成一行;而windows裡的檔案在unix/mac下開啟的話,在每行的結尾可能會多出乙個^m符號。

linux儲存的檔案在windows上用記事本看的話會出現黑點。當他們之間可以相互轉換。在linux下,命令unix2dos 是把linux檔案格式轉換成windows檔案格式,命令dos2unix 是把windows格式轉換成linux檔案格式。

在不同平台間使用ftp軟體傳送檔案時, 在ascii文字模式傳輸模式下, 一些ftp客戶端程式會自動對換行格式進行轉換. 經過這種傳輸的檔案位元組數可能會發生變化. 如果你不想ftp修改原檔案, 可以使用bin模式(二進位制模式)傳輸文字。

乙個程式在windows上執行就生成cr/lf換行格式的文字檔案,而在linux上執行就生成lf格式換行的文字檔案。

qt寫文字檔案換行符 Qt 文字檔案讀寫

文字檔案讀寫 二進位制檔案比較小巧,但是不是人可讀的格式。文字檔案是一種人可讀的格式的檔案,為了操作這種檔案,我們需要使用 qtextstream 類。qtextstream 和 qdatastream的使用類似,只不過它是操作純文字檔案的。還有一些文字格式,比如 xml html,雖然可以由 qt...

qt寫文字檔案換行符 Qt向文字檔案輸出換行

使用qtextstream向txt檔案輸出換行時,需要使用qiodevice text標誌。官方文件對qiodevice text的解釋 when reading,the end of line terminators are translated to n when writing,the end...

作業系統 換行符區分

windows,回車換行 carriage return and line feed n r crlf unix,換行 carriage return n cr mac,r r 回車,carriage return,表示使游標下移一格。n 換行,英文是new line,表示使游標到行首。r n 表示...