乙個ansi編碼的文字檔案,在txt編輯器中開啟,輸入乙個enter,用hexeditor開啟後一看,發現多了兩個位元組,分別是\r和\n
如果用sublime編輯器裡開啟,輸入乙個enter,用hexeditor開啟後可以發現,和上面是一樣的。
此外,對於ansi編碼的檔案,檔案開頭是沒有特殊的標記字元的。
下面討論utf-8編碼的檔案。
檔案頭有ef bb bf標記這是乙個utf-8編碼的檔案。
在txt編輯器中輸入enter,用hexeditor開啟後一看,發現多了兩個位元組,分別是\r和\n。
如果用sublime編輯器裡開啟,輸入乙個enter,用hexeditor開啟後可以發現
unicode儲存:檔案開頭的標記:
如果強行把開頭的標記刪除,文中有中文的時候,在txt編輯器中進行任意編輯,檔案頭都會被自動加上ef bb bf的標記,以表示這是乙個utf-8 編碼的檔案。
對於無標記的檔案,txt編輯器不可識別\n為換行符,但是sublime編輯器可以識別出這個換行符。
無開頭標識的情況下,使用sublime進行換行編輯,輸入的將是乙個\n,而且更為奇怪的是,sublime還會把之前好好的\r\n替換成\n,這樣,整個檔案在txt編輯器看來,就只有一行了。
Linux換行符和Windows換行符的區別與轉換
windows為乙個回車 r cr或 m 和乙個換行 n nl或lf 括號內是其它顯示方法 linux為乙個換行 n mac為乙個回車 r 檢視檔案是否含有windows換行符 windows notepad 檢視 顯示所有符號 linux file test.txt test.txt ascii ...
C 中換行符
1 控制符endl cout endl是乙個特殊的c 符號,表示乙個重要的概念 重起一行。在輸出流中插入endl將導致螢幕游標移到下一行開頭。諸如endl等對於cout來說有特殊含義的特殊符號被稱作控制符。和cout一樣,endl也 是在標頭檔案iostream中定義的,且位於命名空間std中。2 ...
移除txt文字中不必要的換行符
前一陣子看到劉慈欣老師的 三體3 出版了,很是興奮,就從網上找到了 三體2 的txt,準備重溫一下 不買紙質書,為了環保,家裡書太多太重,表鄙視偶 開啟一看,發現都出版了幾年了,怎麼網上連個像樣的盜版都沒有,明顯是從掃瞄版pdf上使用文字識別ocr工具抓下來的文字,正確率倒還挺好,但有很多不必要的換...