任何文件都可以劃分為二進(jìn)制文件(binary file)跟文本文件(text file), 兩種文件表面上看起來顯示,但是兩種文件編碼數(shù)據(jù)的方式卻有差異。兩種文件都是用一系列的字節(jié)編碼數(shù)據(jù),在文本文件中,所編碼的字節(jié)就是代表文本文件的內(nèi)容,而二進(jìn)制文件的編碼,卻代表自定義的數(shù)據(jù)格式,需要特殊的去decode文件內(nèi)容。下面就用『ab12\n3』為代表寫入兩種文件,讀取看看差異。(\n 是換行符)
二進(jìn)制文件的每一個(gè)bit放什么數(shù)據(jù)完全可以自己控制,可以放int、short、char等等,也可以放struct數(shù)據(jù)。當(dāng)時(shí)解析二進(jìn)制file的時(shí)候,需要知道解析規(guī)則,不然也不可讀。
其實(shí)文本文件本身就是一個(gè)特殊的binary file, 只不過是按照字符串內(nèi)容,依次按字節(jié)寫內(nèi)容而已。二進(jìn)制文件是按照自己的編碼格式來的,常見的二進(jìn)制文件比如圖片、文檔、視頻,遵循一定的約定,通常是約定頭部字節(jié)等于一些固定開頭的值
參考:https://www.dplord.com/2016/03/14/diffenerce-between-binary-file-and-text-file/