『C語言』二進位檔(binary file)與文字檔(text file)的差異 程式範例/完整說明

歡迎分享:
  •  
  •  
  •  
  •  
  •  
  •  

檔案內容是怎麼被儲存的?

檔案的儲存單位是位元組(byte),一個位元組(byte) 由8個位元(bit) 組成,一個位元(bit)可以表示兩個數值 0 與 1,可以用連續位元(bit) 的組合來表示更大的二進位數值。

 

範例:

	1 個位元(bit): 可表示 (2 的 1 次方 = 2種值,從 0 ~ 1)  
	(二進制)      (十進制)      (16進制)
	0                  0                 0x00
	1                  1                 0x01

	2 個位元(bit): 可表示 (2 的 2 次方 = 4種值,從 0 ~ 3)
	(二進制)      (十進制)      (16進制)
	00               0                  0x00
	01               1                  0x01
	10               2                  0x02
	11               3                  0x03

	一個位元組(byte),8 個位元(bit) 可表示 (2 的 8 次方 = 256種值,從 0 ~ 255)
	(二進制)        (十進制)      (16進制)
	00000000    0                  0x00
	00000001    1                  0x01
	00000010    2                  0x02
	...
	11111101    253             0xFD
	11111110    254             0xFE
	11111111    255             0xFF

	兩個位元組(bytes),16 個位元(bit),可表示 (2 的 16 次方 = 65536種值,從 0 ~ 65535)
	(二進制)                            (十進制)       (16進制)
	0000000000000000       0                  0x0000
	0000000000000001       1                  0x0001
	0000000000000010       2                  0x0002
	...
	1111111111111101       65533         0xFFFD
	1111111111111110       65534         0xFFFE
	1111111111111111       65535         0xFFFF

 

因為檔案的內容是由一個一個位元組(byte) 組合而成,把兩個或四個位元組(bytes) 組合起來一起看,可以表示不同的數值範圍。

文字檔(text file) 是怎麼被儲存的?

<<文章已經搬家,歡迎點此連結看完整文章內容>>

發表迴響