文字檔案與二進位制檔案我的體會總結如下:
1.文字檔案與二進位制檔案的區別存在於邏輯層面上,即檔案的編碼翻譯方式不一,但是在磁碟上的物理檔案,都是以二進位制形式儲存的。
2.在訪問和讀寫檔案時會才會產生兩種檔案的區分,用文字方式開啟,用fgets,fputs之類的檔案i/o訪問就是文字檔案,而用fread/fwrite等檔案i/o訪問就是二進位制檔案。
3.unix和dos的文字檔案的區分在於回車換行,unix是'/n'而dos則是"/r/n",所以dos文字輸出到控制台時需要把"/r/n"轉換成"/n"(控制台回車符是"/n"),而unix則不需要。
4.為什麼unix中使用fopen時,字元b作為type的一部分實際上無用?參考3,這是因為這兩種方式在讀寫檔案時的操作是不一樣的。二進位制方式
很簡單,讀檔案時,會原封不動的讀出檔案的全部內容,寫的時候,也是把記憶體緩衝區的內容原封不動的寫到檔案中。而文字方式就不一樣了,在讀檔案時,會將換行符號crlf(0x0d 0x0a)全部轉換成單個的0x0a,並且當遇到結束符ctrlz(0x1a)時,就認為檔案已經結束。相應的,寫檔案時,會將所有的0x0a換成0x0d0x0a。由於dos/windows定義的換行符和c語言的不一致,c語言的標準輸入輸出函式適行讀寫文字檔案時,就適行了crlf->lf的轉換。而unix的定義和c語言的是一樣的,就不必轉換了。
二進位制檔案和文字檔案
通常,我們喜歡把檔案分為二進位制檔案 binary file 和文字檔案 text file 兩類。但事實上,所有檔案在計算機上都是以二進位制方式進行儲存的,因此二者並無本質上的區別,它們的區別僅在於對檔案內容的解釋方式上。a 文字檔案,就是根據字元編碼規則解碼後,能夠全部解碼為文字字元的 二進位制...
VC 二進位制檔案和文字檔案
檔案在計算機記憶體中以二進位制表示的資料在外部儲存介質上的另一種存放形式。檔案通常分為二進位制檔案和文字檔案。二進位制檔案是包含在 ascii 及擴充套件 ascii 字元中編寫的資料或程式指令的檔案。一般是可執行程式 圖形 圖象 聲音等等檔案。文字檔案 也稱為ascii檔案 它的每乙個位元組存放的...
二進位制檔案和文字檔案的區別
原文 一 文字檔案與二進位制檔案的定義 將檔案看作是由乙個乙個位元組 byte 組成的,那麼文字檔案中的每個位元組的最高位都是0,也就是說文字檔案使用了乙個位元組中的七位來表示所有的資訊,而二進位制檔案則是將位元組中的所有位都用上了。這就是兩者的區別 接著,第二個問題就是檔案按照文字方式或者二進位制...