文件的文本打开方式和二进制打开方式的区别
在 UNIX/Linux 平臺(tái)中,用文本方式或二進(jìn)制方式打開文件沒有任何區(qū)別。
在 UNIX/Linux 平臺(tái)中,文本文件以\n(ASCII 碼為 0x0a)作為換行符號(hào);而在 Windows 平臺(tái)中,文本文件以連在一起的\r\n(\r的 ASCII 碼是 0x0d)作為換行符號(hào)。
在 Windows 平臺(tái)中,如果以文本方式打開文件,當(dāng)讀取文件時(shí),系統(tǒng)會(huì)將文件中所有的\r\n轉(zhuǎn)換成一個(gè)字符\n,如果文件中有連續(xù)的兩個(gè)字節(jié)是 0x0d0a,則系統(tǒng)會(huì)丟棄前面的 0x0d 這個(gè)字節(jié),只讀入 0x0a。當(dāng)寫入文件時(shí),系統(tǒng)會(huì)將\n轉(zhuǎn)換成\r\n寫入。
也就是說,如果要寫入的內(nèi)容中有字節(jié)為 0x0a,則在寫人該字節(jié)前,系統(tǒng)會(huì)自動(dòng)先寫入一個(gè) 0x0d。因此,如果用文本方式打開二進(jìn)制文件進(jìn)行讀寫,讀寫的內(nèi)容就可能和文件的內(nèi)容有出入。
因此,用二進(jìn)制方式打開文件總是最保險(xiǎn)的。
總結(jié)
以上是生活随笔為你收集整理的文件的文本打开方式和二进制打开方式的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ IO类(3) 文件流
- 下一篇: centos 安装rar 和 unrar