Windows、Linux和MAC的CR, LF, CR/LF换行符
生活随笔
收集整理的這篇文章主要介紹了
Windows、Linux和MAC的CR, LF, CR/LF换行符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在文本處理中, CR, LF, CR/LF是不同操作系統上使用的換行符.?
Dos和windows: 采用回車+換行CR/LF表示下一行.?
UNIX/Linux ?: 采用換行符LF表示下一行.?
MAC OS ? ? ?: 采用回車符CR表示下一行.?
CR用符號'\r'表示, 十進制ASCII代碼是13, 十六進制代碼為0x0D;?
LF用符號'\n'表示, 十進制ASCII代碼是10, 十六制為0x0A.?
所以Windows平臺上換行在文本文件中是使用 0d 0a 兩個字節表示, 而UNIX和蘋果平臺上換行則是使用0a或0d一個字節表示.?
一般操作系統上的運行庫會自動決定文本文件的換行格式. 如一個程序在windows上運行就生成CR/LF換行格式的文本文件,而在Linux上運行就生成LF格式換行的文本文件。?
在一個平臺上使用另一種換行符的文件文件可能會帶來意想不到的問題, 特別是在編輯程序代碼時,有時候代碼在編輯器中顯示正常, 但在編輯時卻會因為換行符問題而出錯。?
很多文本/代碼編輯器帶有換行符轉換功能, 使用這個功能可以將文本文件中的換行符在不同格式單互換。在不同平臺間使用FTP軟件傳送文件時, 在ascii文本模式傳輸模式下, 一些FTP客戶端程序會自動對換行格式進行轉換。經過這種傳輸的文件字節數可能會發生變化。如果你不想ftp修改原文件, 可以使用bin模式(二進制模式)傳輸文本。?
表一:?
標志CRLF
符號 十進制Ascii碼數 十六進制數
\r 13 0x0D
\n 10 0x0A
表二:?
標志換行
Win/Dos linux,Unix等
\r\n(<CR><LF>) \n(<LF>) ? ? ? ? ? ? ? ? ? ?
Dos和windows: 采用回車+換行CR/LF表示下一行.?
UNIX/Linux ?: 采用換行符LF表示下一行.?
MAC OS ? ? ?: 采用回車符CR表示下一行.?
CR用符號'\r'表示, 十進制ASCII代碼是13, 十六進制代碼為0x0D;?
LF用符號'\n'表示, 十進制ASCII代碼是10, 十六制為0x0A.?
所以Windows平臺上換行在文本文件中是使用 0d 0a 兩個字節表示, 而UNIX和蘋果平臺上換行則是使用0a或0d一個字節表示.?
一般操作系統上的運行庫會自動決定文本文件的換行格式. 如一個程序在windows上運行就生成CR/LF換行格式的文本文件,而在Linux上運行就生成LF格式換行的文本文件。?
在一個平臺上使用另一種換行符的文件文件可能會帶來意想不到的問題, 特別是在編輯程序代碼時,有時候代碼在編輯器中顯示正常, 但在編輯時卻會因為換行符問題而出錯。?
很多文本/代碼編輯器帶有換行符轉換功能, 使用這個功能可以將文本文件中的換行符在不同格式單互換。在不同平臺間使用FTP軟件傳送文件時, 在ascii文本模式傳輸模式下, 一些FTP客戶端程序會自動對換行格式進行轉換。經過這種傳輸的文件字節數可能會發生變化。如果你不想ftp修改原文件, 可以使用bin模式(二進制模式)傳輸文本。?
表一:?
標志CRLF
符號 十進制Ascii碼數 十六進制數
\r 13 0x0D
\n 10 0x0A
表二:?
標志換行
Win/Dos linux,Unix等
\r\n(<CR><LF>) \n(<LF>) ? ? ? ? ? ? ? ? ? ?
所以在用println函數的時候,導致的換行在不同操作系統中可能不一樣,在windows下表現的是“\r\n”,使用的時候要注意。
總結
以上是生活随笔為你收集整理的Windows、Linux和MAC的CR, LF, CR/LF换行符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS高版本编写C程序的C4996错误
- 下一篇: stm32f407能跑linux吗_跑步