1. 程式人生 > >文字檔案和二進位制檔案在儲存時的區別

文字檔案和二進位制檔案在儲存時的區別

1、二進位制檔案是把記憶體中的資料按其在記憶體中的儲存形式原樣輸出到磁碟上存放,也就是說存放的是資料的原形式。


2、文字檔案是把資料的終端形式的二進位制資料輸出到磁碟上存放,也就是說存放的是資料的終端形式。


我們有必要把需要儲存的資料分為字元資料和非字元資料兩類。當你有資料要儲存的時候.首先要考慮的問題並不是你要選擇用二進位制檔案還是文字檔案來進行儲存,而是首先得考慮你要儲存的資料是字元資料還是非字元資料.在此基礎上再討論應該選擇用什麼檔案進行儲存為好。

一、如果要儲存字元資料,無論是放在文字檔案還是放在二進位制檔案中都和記憶體中的資料形式是沒有區別的.同樣也和終端形式沒有區別。那麼在儲存和顯示的特性上也沒有任何區別,不浪費儲存空間也不浪費轉換時間。所以如果一個檔案只存放字元資料,那麼討論該檔案是用文字檔案或是二進位制檔案是沒有任何意義的。

二、如果要儲存非字元資料,則情況要複雜一些。

1、如果您需要頻繁地儲存和訪問資料.那麼應該採用二進位制檔案進行存放,這樣可以節省儲存空間和轉換時間。

2、如果您需要頻繁地向終端顯示資料或從終端讀人資料,那麼應該採用文字檔案進行存放,這樣可以節省轉換時間。

三、如果要儲存的資料中既有字元資料又有非字元資料那麼要怎麼辦呢?那就要綜合上述兩點進行權衡以找到最佳平衡點了

總結:字元資料本身在記憶體中就經過了編碼,所以無論是二進位制還是文字形式都是一樣的,而對於非字元資料來說,例如inti=10;如果用二進位制來進行儲存的話為1010,但是如果需要用文字形式來進行儲存的話就必須進行格式化編碼(對1和0分別編碼,即形式為‘1’和‘0’分別對應的碼值)。


相關推薦

文字檔案二進位制檔案儲存區別

1、二進位制檔案是把記憶體中的資料按其在記憶體中的儲存形式原樣輸出到磁碟上存放,也就是說存放的是資料的原形式。 2、文字檔案是把資料的終端形式的二進位制資料輸出到磁碟上存放,也就是說存放的是資料的

文字檔案二進位制檔案區別聯絡

  今天閒來無事,也學一下別人寫一下部落格:   在一些專案中常遇到一些檔案的操作,今天就總結一下。或許自己寫一寫,把思路縷一縷,反正沒什麼事情;   下面我在*.txt檔案中寫了下面一段文字: abcABCzgm張國敏 其實它真正在硬碟中寫入的是(可以通過UltraEdit

文字檔案二進位制檔案的差異區別

轉自:https://blog.csdn.net/colourful_sky/article/details/80334250 廣義上的二進位制檔案包括文字檔案,這裡討論的是狹義上的二進位制檔案與文字檔案的比較: 能儲存的資料型別不同 文字檔案只能儲存c

python file模組中的文字檔案二進位制檔案以及字串byte的理解

大前提:文字檔案和二進位制檔案都是以二進位制的方式存放到硬碟中的 看圖先~ 1. Python file讀寫加不加b w 開啟一個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。 wb

文字檔案二進位制檔案判定

現在我有一個小說檔案:完美世界.txt。它是文字檔案,我把它字尾改了,變成:完美世界.avi。那麼其實它還是一個文字檔案,你照樣可以用記事本開啟它。 我個人認為可以這樣判定一個檔案是不是文字檔案:”如果一個檔案可以用文字編輯軟體開啟(如記事本、notepad+

將圖片檔案二進位制方式儲存恢復

/** * 將圖片轉換成二進位制 * * @return */ static String getImageBinary() { BASE64Encoder encoder = new sun.misc.BASE64Encoder(); //本地圖片 Fil

文字檔案二進位制檔案區別

1)文字檔案:這類檔案以文字的ASCII碼形式儲存在計算機中。它是以"行"為基本結構的一種資訊組織和儲存方式。  2)二進位制檔案:這類檔案以文字的二進位制形式儲存在計算機中,使用者一般不能直接讀懂它們,只有通過相應的軟體才能將其顯示出來。二進位制檔案一般是可執行程式、圖形、

二進位制檔案ASCII檔案有何區別

二進位制檔案和ASCII檔案(即文字檔案)的區別,對於和計算機親近時間尚短的同學是個難題。本文用簡單的例子,試圖展示其中的道道,希望能對菜鳥們有些幫助。1、一個例子:兩種100000  有程式:#include<iostream> using namespace

檔案轉為二進位制儲存在資料庫

資料庫在儲存資料時,有兩種格式,一種是以位元組儲存的,二進位制資料。 另一種是以字元形式儲存的。 資料庫要儲存二進位制資料,其資料庫的列的屬性必須是二進位制型別的,如MySQL中,型別為BINARY和VARBNARY的列以二進位制形式儲存資料。 因為二進位制一般都是位元組陣列,所

VsCode讀取專案檔案的Eslint規則 儲存自動修復格式錯誤

前言: 同一個專案,保持程式碼風格的一致,是非常重要的一個規範。但事實上專案小組成員的程式碼校驗規則、格式化工具通常都不一致,為了避免專案到後期出現無法維護的問題,專案成員使用同一套校驗規則,同一個格式化方式是相當好的步驟之一。 儲存時自動統一程式碼風格: 先通

檔案轉為二進位制儲存在資料庫中的思路

資料庫在儲存資料時,有兩種格式,一種是以位元組儲存的,二進位制資料。 另一種是以字元形式儲存的。 資料庫要儲存二進位制資料,其資料庫的列的屬性必須是二進位制型別的,如MySQL中,型別為BINARY和VARBNARY的列以二進位制形式儲存資料。 因為二進位制一般

C語言中 .h檔案.c檔案區別

要理解.c檔案與.h檔案有什麼不同之處,首先需要弄明白編譯器的工作過程,一般說來編譯器會做以下幾個過程: 1.預處理階段 2.詞法與語法分析階段 3.編譯階段,首先編譯成純彙編語句,再將之彙編成跟CPU相關的二進位制碼,生成各個目標檔案 4.連線階段,將各個目標檔案中的各段程式碼進行絕對地址定位,生成跟特定平

當資料請求引數為檔案其他型別引數的寫法

@POST("/user/snatchOrder/updateUserInformation") @Multipart //引數有檔案時用這個 Observable<Object> getmylisticon(@Part MultipartBody.Part

C語言中 .h檔案.c檔案區別 (轉)

要理解.c檔案與.h檔案有什麼不同之處,首先需要弄明白編譯器的工作過程,一般說來編譯器會做以下幾個過程:1.預處理階段2.詞法與語法分析階段3.編譯階段,首先編譯成純彙編語句,再將之彙編成跟CPU相關的二進位制碼,生成各個目標檔案4.連線階段,將各個目標檔案中的各段程式碼進行絕對地址定位,生成跟特定平臺相關

文字檔案二進位制檔案操作01(C)

現有一個二進位制檔案 E81_data.bin,其中儲存了 20 個整數, 請將檔案儲存至 C 盤根目錄下的 cdata 資料夾。 編寫程式 完成如下功能: (1) 編寫一個函式, 讀取出這些整數。 (2) 編寫一個函式,對所有整數按照從小到大排序。 (3) 編寫一個函式,

文字檔案二進位制檔案操作03(C)

現有一個二進位制檔案 E83_data.bin,檔案中包含了若干學生資訊, 請將檔案儲存至 C 盤根目錄下的 cdata 資料夾。其中學生資訊結構如下: struct _student { char ID[15]; // 學號 char name[20]; // 姓名 int

fopen,文字檔案二進位制檔案

暮鼓集    行走集 在學習C語言檔案操作後,我們都會知道開啟檔案的函式是fopen,也知道它的第二個引數是標誌字串。其中,如果字串中出現’b’,則表明是以開啟二進位制(binary)檔案,否則是開啟文字檔案。 那麼甚麼是文字檔案,甚麼是二進位

C/C++讀寫文字檔案二進位制檔案

//採用CPP模式讀取txt void TextRead_CPPmode() { fstream f; f.open("txt_out.txt",ios::in); //檔案開啟方式選項: // ios::in    = 0x01, //供讀,檔案不存在則建立(ifstream預設的開啟方式) /

MAC系統PKG檔案DMG檔案有哪些區別&VMWare安裝Mac OS

  MAC系統中的檔案包含著兩種格式,一種PKG檔案,還有一種便是DMG檔案。許多使用者都對這兩種格式的檔案分不清,認為它們是同一種類型的檔案。其實並不是這樣的,今天,小編就為大家介紹一下這兩個格式檔案的區別。  關於PKG   pkg檔案也就是安裝包配置檔案,是製作

java中如何判斷一個檔案二進位制檔案還是文字檔案

現在的做法是把檔案讀進來,逐個解析每一個byte,如果有一個byte<0那麼斷定這個檔案是二進位制的,這在純英文的環境下可以工作,但是如果一個文字包含了中文字元,那麼這個檔案也會被判斷為二進位制檔案。 我在網上看看到有人也是逐個比較每一個byte,只不過是如果有一個b