在定義和存取方式上二進(jìn)制文件與文本文件存在區(qū)別。
1、定義上的區(qū)別
文本文件:文本文件是一種計算機(jī)文件,它是一種典型的順序文件鸿脓,其文件的邏輯結(jié)構(gòu)又屬于流式文件庵芭。簡單的說食磕,文本文件是基于字符編碼的文件,常見的編碼有ASCII編碼喳挑,UNICODE編碼等等彬伦。
二進(jìn)制文件:是基于值編碼的文件滔悉,你可以根據(jù)具體應(yīng)用,指定某個值是什么意思(這樣一個過程单绑,可以看作是自定義編碼)回官。用戶一般不能直接讀懂它們,只有通過相應(yīng)的軟件才能將其顯示出來搂橙。二進(jìn)制文件一般是可執(zhí)行程序歉提、圖形、圖像区转、聲音等等苔巨。
從上面可以看出文本文件與二進(jìn)制文件的區(qū)別并不是物理上的,而是邏輯上的废离。這兩者只是在編碼層次上有差異侄泽,文本文件基本上是定長編碼的(也有非定長的編碼如UTF-8)。而二進(jìn)制文件則可看成是變長編碼蜻韭,因為是值編碼悼尾,多少個比特代表一個值,完全由你決定肖方。
2闺魏、存儲方式上的區(qū)別
文本工具打開一個文件,首先讀取文件物理上所對應(yīng)的二進(jìn)制比特流俯画,然后按照所選擇的解碼方式來解釋這個流析桥,然后將解釋結(jié)果顯示出來。
一般來說艰垂,你選取的解碼方式會是ASCII碼形式(ASCII碼的一個字符是8個比特)烹骨,接下來,它8個比特8個比特地來解釋這個文件流材泄。
記事本無論打開什么文件都按既定的字符編碼工作(如ASCII碼)沮焕,所以當(dāng)他打開二進(jìn)制文件時,出現(xiàn)亂碼也是很必然的一件事情了拉宗,解碼和譯碼不對應(yīng)峦树。
文本文件的存儲與其讀取基本上是個逆過程。而二進(jìn)制文件的存取與文本文件的存取差不多旦事,只是編/解碼方式不同而已魁巩。
二進(jìn)制文件就是把內(nèi)存中的數(shù)據(jù)按其在內(nèi)存中存儲的形式原樣輸出到磁盤中存放,即存放的是數(shù)據(jù)的原形式姐浮。文本文件是把數(shù)據(jù)的終端形式的二進(jìn)制數(shù)據(jù)輸出到磁盤上存放谷遂,即存放的是數(shù)據(jù)的終端形式
擴(kuò)展資料
文本文件和二進(jìn)制文件的優(yōu)缺點:
一般認(rèn)為,文本文件編碼基于字符定長卖鲤,譯碼容易些肾扰;二進(jìn)制文件編碼是變長的畴嘶,所以它靈活,存儲利用率要高些集晚,譯碼難一些(不同的二進(jìn)制文件格式窗悯,有不同的譯碼方式)。
關(guān)于空間利用率偷拔,想想看蒋院,二進(jìn)制文件甚至可以用一個比特來代表一個意思(位操作),而文本文件任何一個意思至少是一個字符.?
在windows下,文本文件不一定是以ASCII來存貯的,因為ASCII碼只能表示128的標(biāo)識,你打開一個txt文檔,然后另存為,有個選項是編碼,可以選擇存貯格式,一般來說UTF-8編碼格式兼容性要好一些.而二進(jìn)制用的計算機(jī)原始語言,不存在兼容性莲绰。
存儲方式的區(qū)別:
如果存儲的是字符數(shù)據(jù)欺旧,無論采用文本文件還是二進(jìn)制文件都是沒有任何區(qū)別的。
如果存儲的是非字符數(shù)據(jù)蛤签,又要看我們使用的情況來決定:
1辞友、如果是需要頻繁的保存和訪問數(shù)據(jù),那么應(yīng)該采取二進(jìn)制文件進(jìn)行存放顷啼,這樣可以節(jié)省存儲空間和轉(zhuǎn)換時間踏枣。
2昌屉、如果需要頻繁的向終端顯示數(shù)據(jù)或從終端讀入數(shù)據(jù)钙蒙,那么應(yīng)該采用文本文件進(jìn)行存放,這樣可以節(jié)省轉(zhuǎn)換時間间驮。