老生常談文本文件和二進(jìn)制文件的區(qū)別
從文件編碼的方式來(lái)看,文件可分為ASCII碼文件和二進(jìn)制碼文件兩種。
ASCII文件也稱(chēng)為文本文件,這種文件在磁盤(pán)中存放時(shí)每個(gè)字符對(duì)應(yīng)一個(gè)字節(jié),用于存放對(duì)應(yīng)的ASCII碼。例如,數(shù)5678的存儲(chǔ)形式為:
ASC碼: 00110101 00110110 00110111 00111000
↓ ↓ ↓ ↓
十進(jìn)制碼: 5 6 7 8 共占用4個(gè)字節(jié)。ASCII碼文件可在屏幕上按字符顯示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可顯示文件的內(nèi)容。 由于是按字符顯示,因此能讀懂文件內(nèi)容。
二進(jìn)制文件是按二進(jìn)制的編碼方式來(lái)存放文件的。
例如, 數(shù)5678的存儲(chǔ)形式為: 00010110 00101110只占二個(gè)字節(jié)。二進(jìn)制文件雖然也可在屏幕上顯示, 但其內(nèi)容無(wú)法讀懂。C系統(tǒng)在處理這些文件時(shí),并不區(qū)分類(lèi)型,都看成是字符流,按字節(jié)進(jìn)行處理。 輸入輸出字符流的開(kāi)始和結(jié)束只由程序控制而不受物理符號(hào)(如回車(chē)符)的控制。
因此也把這種文件稱(chēng)作“流式文件”。
一個(gè)文件可以以文本模式或二進(jìn)制模式打開(kāi),這兩種的區(qū)別是:在文本模式中回車(chē)被當(dāng)成一個(gè)字符'/n',而二進(jìn)制模式認(rèn)為它是兩個(gè)字符0x0D,0x0A;如果在文件中讀到0x1B,文本模式會(huì)認(rèn)為這是文件結(jié)束符,也就是二進(jìn)制模型不會(huì)對(duì)文件進(jìn)行處理,而文本方式會(huì)按一定的方式對(duì)數(shù)據(jù)作相應(yīng)的轉(zhuǎn)換。
以上這篇老生常談文本文件和二進(jìn)制文件的區(qū)別就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)重載(overloading)操作詳解
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)重載(overloading)操作,結(jié)合實(shí)例形式詳細(xì)分析了php面向?qū)ο蟪绦蛟O(shè)計(jì)重載原理、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-06-06PHP迭代器和迭代的實(shí)現(xiàn)與使用方法分析
這篇文章主要介紹了PHP迭代器和迭代的實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了PHP迭代器的概念、原理、定義與使用方法,需要的朋友可以參考下2018-04-04php實(shí)現(xiàn)微信公眾平臺(tái)賬號(hào)自定義菜單類(lèi)
這篇文章主要介紹了php實(shí)現(xiàn)微信公眾平臺(tái)賬號(hào)自定義菜單類(lèi)的相關(guān)資料,需要的朋友可以參考下2015-10-10php實(shí)現(xiàn)數(shù)組中出現(xiàn)次數(shù)超過(guò)一半的數(shù)字的統(tǒng)計(jì)方法
在本篇文章中我們給大家分享了php如何實(shí)現(xiàn)數(shù)組中出現(xiàn)次數(shù)超過(guò)一半的數(shù)字的統(tǒng)計(jì)方法,有需要的朋友們參考下。2018-10-10php 無(wú)限級(jí)分類(lèi) 獲取頂級(jí)分類(lèi)ID
這篇文章主要介紹了php 無(wú)限級(jí)分類(lèi) 獲取頂級(jí)分類(lèi)ID的相關(guān)代碼,需要的朋友可以參考下2016-03-03