Binary
如何反轉二進製文件的內容?
我正在解決一個挑戰,我發現一個沒有文件副檔名的數據文件。該
file
命令顯示它是一個data file (application/octet-stream)
. 該hd
命令顯示GNP。在最後一行。因此,如果我反轉此文件,那麼我將獲得.PNG格式的文件,我到處搜尋,但沒有找到解釋如何反轉二進製文件內容的解決方案。
使用
xxd
(來自vim
)和tac
(來自 GNU coreutils,也在tail -r
某些系統上):< file.gnp xxd -p -c1 | tac | xxd -p -r > file.png
在
zsh
(唯一可以在內部處理二進制數據的 shell(除非您想考慮ksh93 的 base64 編碼方法)):zmodload zsh/mapfile (LC_ALL=C; printf %s ${(s::Oa)mapfile[file.gnp]} > file.png)
LC_ALL=C
: 字元是字節$mapfile[file.gnp]
:file.gnp
文件內容s::
:將字元串拆分為其字節組成部分Oa
:O
在a
該數組的 ray 下標上反向 rder