文字檔案和二進位制檔案的區別和聯絡
今天閒來無事,也學一下別人寫一下部落格:
在一些專案中常遇到一些檔案的操作,今天就總結一下。或許自己寫一寫,把思路縷一縷,反正沒什麼事情;
下面我在*.txt檔案中寫了下面一段文字:
abcABCzgm張國敏 其實它真正在硬碟中寫入的是(可以通過UltraEdit軟體來看):61 62 63 41 42 43 7A 67 6D D5 C5 B9 FA C3 F4;
這個就是我們常說的,ascii碼,即我們看到的時ascii碼,而在檔案中儲存的是二進位制資料(而且我們注意到,中文需要兩個位元組來表達);
在C語言中,讀取檔案資料的函式是:fgetc(FILE *fp),fread(&buffer,sizeof(char),1,FILE* fp);這兩個函式的區別是前面一個函式讀取的是一個字元,即我們看到的字元;而使用後面一個函式讀取的是儲存在硬碟中讀取的二進位制資料;
同樣的道理;使用fputc()和fwrite()這兩個函式道理是一樣的;
發現一些太簡單了!
道理就是這樣簡單,下面就是簡單的運用;現在tte.c的檔案中有這麼一個數組const unsigned char data[] = {0x12,0xfa,0x78,0xa0};叫你通過讀取檔案的形式寫一個通用的軟體求出裡面資料的和;下面我們就來分析如何寫這個程式碼;
求這幾個的和就是 Total = 0x12 + 0xfa + 0x78 + 0xa0;但是這裡問題出線了,這裡的ox12,是實實在在的16進位制資料,但是*.c檔案裡面的是asicc碼,所以這裡就設計到把獲取到的asicc碼轉化為16進位制資料了,即“0x16”--->0x16;這裡寫一寫簡單的方法:
unsigned char ch;
int zhi;
ch = fgetc(fp);
if(ch<='9'&&ch>='0')
zhi = ch - 48;
elseif(ch<='F'&&ch>='A')
zhi = ch - 55;
else
zhi = ch - 87;
上面的程式碼就把字元轉化為進位制資料了;
太簡單了,也就我自己看了;哈
相關推薦
文字檔案和二進位制檔案的區別和聯絡
今天閒來無事,也學一下別人寫一下部落格: 在一些專案中常遇到一些檔案的操作,今天就總結一下。或許自己寫一寫,把思路縷一縷,反正沒什麼事情; 下面我在*.txt檔案中寫了下面一段文字: abcABCzgm張國敏 其實它真正在硬碟中寫入的是(可以通過UltraEdit
文字檔案和二進位制檔案在儲存時的區別
1、二進位制檔案是把記憶體中的資料按其在記憶體中的儲存形式原樣輸出到磁碟上存放,也就是說存放的是資料的原形式。 2、文字檔案是把資料的終端形式的二進位制資料輸出到磁碟上存放,也就是說存放的是資料的
文字檔案和二進位制檔案的差異和區別
轉自: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編碼,UNICODE編碼等等。二進位制檔案是基於值編碼的檔案,你可以根據具體應用,指定某個值是什麼意思(這樣一個過程,可以看作是自定義編碼)。 從上面可以看出文字檔案基本上是定長編碼的,基於字元嘛,每個字元在具體編碼中是固定的,ASCII碼是8個位
OpenJDK和Sun/OracleJDK 區別 與聯絡
首先要先明確之間,以及OpenJDK 6、OpenJDK 7、OpenJDK 7u和OpenJDK 8等專案之間是什麼關係,這有助於確定接下來編譯要使用的JDK版本和原始碼分支。 從前面介紹的Java發展史中我們瞭解到OpenJDK是Sun在2006年末把Java開源而形成的專案,這裡的
【小家java】Session和Cookie的區別和聯絡、分散式session的幾種實現方式
相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9
Thread和Runnable的區別和聯絡、多次start一個執行緒會怎麼樣
一、Java有兩種方式實現多執行緒,第一個是繼承Thread類,第二個是實現Runnable介面。他們之間的聯絡: 1、Thread類實現了Runable介面。 2、都需要重寫裡面Run方法。 二、實現Runnable介面相對於繼承Thread類來說,有如下顯著的好處:
JSP和Servlet的區別和聯絡(不看後悔,一看必懂)
在引入jsp之前呢,在web應用程式中,所有的業務邏輯和HTML的響應都是在Servlet中實現的.由於業務邏輯和檢視沒有分離,系統的可擴充套件性,可讀性和可維護性都較差 jsp從表面上看,就是嵌入了java程式碼的HTML檔案;本質上jsp相當於一個Servlet.只要是
web---session和cookie的區別和聯絡
1. 區別 它們都是使用鍵值的方式來為客戶端儲存一些伺服器的資訊,區別在於: cookie是將這些資訊儲存在瀏覽器端,伺服器關閉cookie就會消亡,除非設有存活時間。session是將這些資訊儲存在伺服器端,預設兩次訪問之間儲存30分鐘,時間段後session值也會消亡。 每個
python3的eval和exec的區別與聯絡
eval: 可以把字串裡的字元轉換為可執行程式碼,但只支援一行字元。可以返回執行後得到的值。如下: f = "3+6+9+8" s = eval(f) print(s) 輸出: "C:\Program Files\python3\python3.exe" D:/co
pandas中Series()和DataFrame()的區別與聯絡
區別: series,只是一個一維資料結構,它由index和value組成。 dataframe,是一個二維結構,除了擁有index和value之外,還擁有column。 聯絡: dataframe由多個series組成,無論是行還是列,單獨拆分出來都是一個series。 程式碼演示:
簡述COOKIE和SESSION的區別與聯絡?
cookie 和session 的區別:1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session。3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺
GET和POST的區別,Cookie和Session的區別和聯絡,
1.GET和POST的區別 A. 從字面意思和HTTP的規範來看,GET用於獲取資源資訊而POST是用來更新資源資訊。 B. GET提交請求的資料實體會放在URL的後面,用?來分割,引數用&連線,舉個栗子:/index.html?name=wang&login=1
詳談get和post的區別與聯絡
Http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認為:一個URL地址,它用於描述一個網路上的資源,而HTTP中的GET,POST,PUT,DELETE就對應著對這個資源的查,改,增,刪4個操作。到這裡,大家應該有個大概
oa系統和ERP的區別和聯絡有哪些?
隨著資訊化的發展,越來越多的企業使用網路應用軟體來輔助辦公,目的是為了提高工作效率,節省辦公時間,促進企業經濟效益增長。例如oa系統、ERP等等,但是有些人至今無法區分它們之間的聯絡與區別。下面具體說說oa系統和ERP兩者的區別與聯絡。 一、oa系統和ERP的區別 1、含義不同: oa系統簡稱自動辦
【知識筆記】js中undefined和null的區別和聯絡
在JavaScript中存在這樣兩種原始型別:Null與Undefined。這兩種型別常常會使JavaScript的開發人員產生疑惑,在什麼時候是Null,什麼時候又是Undefined?Undefined型別只有一個值,即undefined。當宣告的變數還未被初始化時,變數的預設值為undefined。Nu