二進位制檔案轉化成文字檔案

2021-09-24 14:39:49 字數 1315 閱讀 7675

文字檔案二進位制檔案的區別在於開啟這個檔案的程式在對檔案內容的解釋上。

檔案本身,儲存在電腦上的都是0101的二進位制。

如果是文字檔案,使用任何一種文字編輯器開啟可以展現出人類可讀資訊字元,編碼都符合某種編碼方式,如ascii、utf8、gb2312等等。

如果是二進位制檔案,肯定沒有編碼方式,使用文字編輯器開啟展現出來的就是一些亂七八糟的字元。使用utraledit可以顯示原始的二進位制檔案,顯示的就是原始16進製制。右側自動選了一種編碼方式進行翻譯成文本,比如他自動選擇的就是gbk,顯示出來就是亂碼。下圖的例子使用utraledit開啟的乙個png格式的檔案(也就是):

(疑問:為什麼utraledit 選擇了另外一種編碼方式的時候左邊的二進位制的值也變了??) 

有些二進位制檔案使用通用的規範進行編碼,有一定的標準,比如常見的格式jpeg,png,使用看圖軟體就能正常開啟顯示出的樣子

有些二進位制檔案編碼格式是程式自定義規範進行編碼,對於這種二進位制,只有程式的開發者自己知道該檔案所對應的編碼規範,進行解碼使用。

可執行檔案,也是檔案,也是二進位制檔案,而對這種檔案的解析就需要作業系統的參與了,涉及到可執行檔案的裝載等,也是有乙個的規範的。可以檢視《程式設計師的自我修養》下的文章)

使用vim修改:

vim -b 檔名

:%!xxd ——轉化成16進製制

然後進行修改二進位制

:%!xxd -r——轉回去

:wq

1.先使用iconv命令://ignore忽略那些翻譯不了的

iconv -f gb2312 -t utf-8//ignore {} -o $filename.text

2.再使用grep 對 *.text 進行搜尋想要查詢的ascii字元

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

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

文字檔案與二進位制檔案

從本質上說所有檔案都是二進位制檔案,文字i o是在二進位制i o基礎上提供的一層抽象,它封裝了字元的編碼和解碼過程。在文字i o中自動進行編碼與解碼。在windows和dos系統中,狹義的文字檔案是指擴充套件名為txt的檔案。實際上,那些沒有規定格式的,由可理解的的ascii以及其它編碼文字組成的檔...

文字檔案與二進位制檔案

維基百科 二進位制檔案一般指包含ascii及擴充套件ascii字元中編寫的資料或程式指令的檔案。廣義的二進位制檔案即為檔案,由檔案在外部儲存裝置的存放方式為二進位制而得名。狹義的二進位制檔案即指除文字檔案以外的檔案。簡單來說,文字檔案是基於字元編碼的檔案,常見的編碼有ascii編碼,unicode編...