文字模式與二進位制模式

2021-08-27 21:32:26 字數 673 閱讀 6638

c語言是unix的產物,因此c對檔案的處理與unix環境適配。

c把檔案看作是一系列連續的位元組,每個位元組都能被單獨讀取。但由於其他環境可能無法完全對應此模型,c提供兩種模型:文字模式和二進位制模式。

關於文字模式和二進位制模式:

所有檔案的內容(在磁碟上)都以二進位制表示。

因為編碼方式不同,導致展現的形式不同。(編碼方式)

如果檔案使用二進位制編碼的字元,如unicode,ascii表示文字,那麼就是文字檔案。

如果二進位制代表的是機器語言,或,或**編碼,該檔案就是二進位制檔案。

文字模式是為了規範各個os上文字檔案的處理(為了跨平台)。在文字模式下,依靠於os的轉換**義)。程式所見的內容和檔案的內容不同。程式以文字方式讀取的時候,把本地的檔案的行末尾或檔案末尾對映為c模式。在寫入的時候,也會進行轉換。(可見c primer plus 414)

用二進位制模式開啟乙個檔案的時候,檔案本身的內容和你編寫程式時用函式讀到的內容完全相同(或者說和磁碟上的內容完全相同)。在二進位制模式,程式可以訪問檔案的每個位元組。(二進位制模式是最「真實」的資料,各個os的二進位制檔案是不同的,區別在於轉義字元,這也是c最本質的處理方式,契合unix)

檔案讀寫: 二進位制方式和文字方式的區別

文字模式 二進位制模式 文字檔案 二進位制檔案

這幾個概念很常見但是也容易搞混。前兩者是相反的意思,後兩者是一對。1.文字模式 textmode 和二進位制模式 binarymode 的 區別0.無論你用哪種語言進行程式設計,也無論你用哪個函式進行檔案操作 庫函式也好,直接作業系統api也好 最終的檔案開啟的操作都是由作業系統來進行的,因此各種語...

關於C之二進位制模式與文字模式

用二進位制模式開啟乙個檔案的時候,檔案本身的內容和你編寫程式時用函式讀到的內容完全相同 或者說和磁碟上的內容完全相同 實際上,所有的資料都是以二進位制形式儲存的,甚至連字元都以字元碼的二進位制表示來儲存。如果檔案中的所有資料都被解釋成字元碼,則稱該檔案包含文字資料。如果部分或所有的資料都被解釋成二進...

檔案開啟的文字模式和二進位制模式

首先要明白一點,就是無論你用哪種語言進行程式設計,也無論你用哪個函式進行檔案操作 庫函式也好,直接作業系統api也好 最終的檔案開啟的操作都是由作業系統來進行的,因此各種語言的情況從本質上來說都是相同的。用二進位制模式開啟乙個檔案的時候,檔案本身的內容和你編寫程式時用函式讀到的內容完全相同 或者說和...