任何文件都可以劃分為二進(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)制文件的每一個bit放什么數(shù)據(jù)完全可以自己控制扬虚,可以放int、short球恤、char等等辜昵,也可以放struct數(shù)據(jù)。當(dāng)時解析二進(jìn)制file的時候咽斧,需要知道解析規(guī)則堪置,不然也不可讀。
其實文本文件本身就是一個特殊的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/