二進位制與文字檔案的區別
2023年06月17日 星期二 21:21
asc碼: 00110101 00110110 00110111 00111000
↓ ↓ ↓ ↓
十進位製碼: 5 6 7 8 共占用4個位元組。ascii碼檔案可在螢幕上按字元顯示,
例如源程式檔案就是ascii檔案,用dos命令type可顯示檔案的內容。
由於是按字元顯示,因此能讀懂檔案內容。
二進位制檔案是按二進位制的編碼方式來存放檔案的。
例如,
數5678的儲存形式為:
00010110 00101110只佔二個位元組。
二進位制檔案雖然也可在螢幕上顯示,但其內容無法讀懂。
c系統在處理這些檔案時,並不區分型別,都看成是字元流,按位元組進行處理。
輸入輸出字元流的開始和結束只由程式控制而不受
物理符號(如回車符)的控制。
因此也把這種檔案稱作「流式檔案」。
------------
資料就是資料,關鍵看你怎麼使用了,如果說區別,就是文字檔案載入的時候,會把回車換行2個符號轉換成回車符號,而吃掉換行符,存檔的時候把這個吃掉的換行符吐回去...
至於也可以把文字檔案當初資料檔案來讀,純粹是看應用了。
就好比有人問10進製,16進製制的區別,純粹就是一回事 !!!
都是資料,只不過看問題的角度不同而已,只是你觀察角度不同而已。他們都是一樣的。
好比'1'
你用文字檔案看是'1',你用16進製制工具看是0x31
實際上都是0x31,或者是0x0011 0001
-------------
沒有區別,從檔案系統的角度,所有的檔案都是乙個順序的位元集合,區別在於程式如何解讀這些資料,一段資料可以看成是文字,影象或者聲音
------------------
說到底計算機儲存的檔案都是以二進位制形式儲存的,但是區別是,習慣上認為:
1)、文字檔案
文字檔案是包含使用者可讀資訊的檔案。這些檔案以ascii碼方式儲存,可顯示和列印。文字檔案的行不能包括空字元(即碼中的null),行的最大 長度(包括換行符在內)也不能超過(line_max)所定義的位元組數。不過文字檔案中並不限制使用除空字元以外的控制字元或其它不可列印字元。
(2)、二進位制檔案(實際上這種說法不準確,因為文字檔案也是用二進位制**存放的,稱為非文字檔案比較好)
二進位制檔案是包含計算機可讀資訊的檔案。二進位制檔案可以是可執行的檔案,使系統根據其中的指令完成某項工作。命令和程式都是以可執行的而進製檔案方式儲存。二進位制檔案沒有行的長度限制,也可包含空字元。
看個例子:
#include
int main()
看輸出結果。
linux:~/test # od -x 01.txt
0000000 3231 0c0a 0000 0000
即使是用二進位制開啟,但如果你用fputc,fputs,fprintf這些函式,其實還是和用文字檔案開啟一樣。
只有用到fwrite/fread函式,才會看到乙個整形佔4個位元組。
按二進位制寫檔案指的是直接按照資料在記憶體中的表現形式寫入檔案。例如,如果int型資料在記憶體中用 4 個位元組表示,則寫這個int資料的時候直接把對應的記憶體中 4 個位元組的內容寫入檔案。在此過程中資料不需要做任何轉換,所以效率較高。
數 據有字元型和非字元型(數)兩種。按文字方式寫檔案指的是將資料轉換為對應的字元型資料之後再寫入檔案。對於字元型資料,由於其本身就是ascii碼字 符,一般不必轉換,直接寫入檔案。但是,由於不同的系統對於換行符('/n')有不同的處理**換)方式,在有的系統(如windows)下也會對 '/ n' 作適當的轉換。
對於非字元型資料,都要進行轉換處理。例如:int m = 12; 以及 double f = 2.3;,分別按照 "%d"、"%lf" 方式將 m 和 f 寫入檔案的時候,寫入的分別是 '1'、'2' 兩個字元以及 '2'、'.'、 '3' 等三個字元的ascii碼值。顯然,如果按照二進位制方式寫的話,在檔案中一般 m 要佔 4 個位元組、f 要佔 8 個位元組
文字檔案與二進位制檔案區別
一 文字檔案與二進位制檔案的定義 大家都知道計算機的儲存在物理上是二進位制的,所以文字檔案與二進位制檔案的區別並不是物理上的,而是 邏輯上的。這兩者只是在編碼層次上有差異。簡單來說,文字檔案是基於字元編碼的檔案,常見的編碼有ascii編碼,unicode編碼等等。二進位制檔案是 基於值編碼的檔案,你...
文字檔案與二進位制檔案區別
一 文字檔案與二進位制檔案的定義 大家都知道計算機的儲存在物理上是二進位制的,所以文字檔案與二進位制檔案的區別並不是物理上的,而是邏輯上的。這兩者只是在編碼層次上有差異。簡單來說,文字檔案是基於字元編碼的檔案,常見的編碼有ascii編碼,unicode編碼等等。二進位制檔案是基於值編碼的檔案,你可以...
文字檔案與二進位制檔案區別
一 文字檔案與二進位制檔案的定義 大家都知道計算機的儲存在物理上是二進位制的,所以文字檔案與二進位制檔案的區別並不是物理上的,而是邏輯上的。這兩者只是在編碼層次上有差異。簡單來說,文字檔案是基於字元編碼的檔案,常見的編碼有ascii編碼,unicode編碼等等。二進位制檔案是基於值編碼的檔案,你可以...