在 UNIX/Linux 平台中,用文字方式或二進位制方式開啟檔案沒有任何區別。
在 UNIX/Linux 平台中,文字檔案以
n
(ASCII 碼為 0x0a)作為換行符號;而在 Windows 平台中,文字檔案以連在一起的
rn
(
r
的 ASCII 碼是 0x0d)作為換行符號。
在 Windows 平台中,如果以文字方式開啟檔案,當讀取檔案時,系統會將檔案中所有的
rn
轉換成一個字元
n
,如果檔案中有連續的兩個位元組是 0x0d0a,則系統會丟棄前面的 0x0d 這個位元組,唯讀入 0x0a。當寫入檔案時,系統會將
n
轉換成
rn
寫入。
也就是說,如果要寫入的內容中有位元組為 0x0a,則在寫人該位元組前,系統會自動先寫入一個 0x0d。因此,如果用文字方式開啟二進位制檔案進行讀寫,讀寫的內容就可能和檔案的內容有出入。
因此,用二進位制方式開啟檔案總是最保險的。