通常,我們喜歡把檔案分為二進位制檔案(binary file)和文字檔案(text file)兩類。但事實上,所有檔案在計算機上都是以二進位制方式進行儲存的,因此二者並無本質上的區別,它們的區別僅在於對檔案內容的解釋方式上。
— a:文字檔案,就是根據字元編碼規則解碼後,能夠全部解碼為文字字元的;二進位制檔案,就是除了文字檔案外的所有其它檔案,也即,檔案底層的二進位製碼不能根據字元編碼規則全部解碼為文字字元;換言之,文字檔案是根據字元編碼規則寫入的,而二進位制檔案是根據其它規則編碼寫入的;
— q:拿到乙個檔案,應用程式怎麼知道根據什麼規則去解碼?
— a:不同型別的檔案有不同的解碼規則,因而就有不同的解碼器,只要我們選對了解碼器(應用程式),解碼器自然會根據一套固定的規則去對檔案進行解碼,文字檔案如此,二進位制檔案(如bmp、rmvb、png)亦如此;
— q:如何選擇正確的解碼器?
— a:最簡單的,根據副檔名去選擇解碼器即可,比如,對於.txt檔案,這是文字檔案,選用記事本或者notepad++均可,對於.bmp檔案,這是影象檔案(或者說是二進位制檔案),選用影象檢視器即可;不過,副檔名是可以隨意更改的,因此乙個更可靠的方法是根據檔案頭去選擇解碼器:一般而言,檔案都有檔案頭,處在檔案的開頭部分,其中包含著檔案的格式資訊,比如有個檔案的開頭兩個位元組是 0x42 0x4d,對應的ascii字元是bm,因此我們知道這是乙個bmp檔案,故而選擇影象檢視器即可;
— q:如果選錯了解碼器,檔案能開啟嗎?
— a:選錯了解碼器,由於編譯碼規則不一致,解發布來的內容自然就成了所謂的「亂碼」,比如,用記事本去開啟.bmp檔案,就會看到一堆亂碼,當然也有不是亂碼的地方,你會注意到那些地方都顯示為字元,因此能被記事本用字元解碼規則解發布來;
相信上述幾個問題已經解決了絕大多數人的疑惑,接下來我們分別從檔案讀寫的角度切入,進一步區分二進位制檔案和文字檔案。
能儲存的資料型別不同
每條資料的長度不同
對換行符的處理不同(詳見文字檔案換行符)
文字檔案的優點
二進位制檔案的優點
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
VC 二進位制檔案和文字檔案
檔案在計算機記憶體中以二進位制表示的資料在外部儲存介質上的另一種存放形式。檔案通常分為二進位制檔案和文字檔案。二進位制檔案是包含在 ascii 及擴充套件 ascii 字元中編寫的資料或程式指令的檔案。一般是可執行程式 圖形 圖象 聲音等等檔案。文字檔案 也稱為ascii檔案 它的每乙個位元組存放的...
二進位制檔案和文字檔案的區別
原文 一 文字檔案與二進位制檔案的定義 將檔案看作是由乙個乙個位元組 byte 組成的,那麼文字檔案中的每個位元組的最高位都是0,也就是說文字檔案使用了乙個位元組中的七位來表示所有的資訊,而二進位制檔案則是將位元組中的所有位都用上了。這就是兩者的區別 接著,第二個問題就是檔案按照文字方式或者二進位制...
文字模式 二進位制模式 文字檔案 二進位制檔案
這幾個概念很常見但是也容易搞混。前兩者是相反的意思,後兩者是一對。1.文字模式 textmode 和二進位制模式 binarymode 的 區別0.無論你用哪種語言進行程式設計,也無論你用哪個函式進行檔案操作 庫函式也好,直接作業系統api也好 最終的檔案開啟的操作都是由作業系統來進行的,因此各種語...