Unix 及 Windows 下的換行字元
November 4th, 2007 by Chuan-Hsien LinLast Modified on November 4th, 2007
UNIX 和 Windows 的換行字元是不一樣的,UNIX 的換行字元只有 10 (New Line),而 Windows 的換行字元是由 13 (Carriage Return) 及 10 (New Line) 組成。
以下利用 Windows XP,以及 Cygwin 環境來實驗。
首先在 Windows 下利用筆記本新增一個 test.txt 檔案,內容如下,只有短短兩行,
test1 test2
用 od 指令看該檔案 ascii 碼,結果如下,
$ od -t c test.txt 0000000 t e s t 1 \r \n t e s t 2 0000014
用 od 指令看該檔案 hex,結果如下,
$ od -t x1 test.txt 0000000 74 65 73 74 31 0d 0a 74 65 73 74 32 0000014
可以發現,Windows 下用筆記本新增出來的檔案,換行是 \r \n,亦即 0x0D 0x0A。
再作個實驗,直接在 Cygwin 底下用 vi 新增一 test2.txt 檔案,文字內容同 test.txt,接著用 od 指令去看檔案內容,
$ od -t c test2.txt 0000000 t e s t 1 \n t e s t 2 \n 0000014 $ od -t x1 test2.txt 0000000 74 65 73 74 31 0a 74 65 73 74 32 0a 0000014
此時會發現,在 Cygwin 下用 vi 新增出來的檔案, 其換行字元只會使用一個 \n,即 0x0A。
沒有留言:
張貼留言