macOS 终端可用的 Hex 查看与编辑器
在 Windows 下我們可以使用 WinHex,而在 macOS 平臺上,有什么不錯的十六進制查看器、編輯器呢?
準備
首先,我們創建一個文件用于測試。
echo 'welcome' > file1
正文
HexDump
很多類 Unix 系統都包含這個工具。正如其名,功能就是導出文件的原始十六進制信息。
$ hexdump file1
0000000 6577 636c 6d6f 0a65
0000008
以上輸出就是 welcome 的 ASCII 十六進制信息,如果文件很長,那將會很難與文本信息對應起來。
我們可以使用 -C 選項來同時打印文本。
$ hexdump -C file1
00000000 77 65 6c 63 6f 6d 65 0a |welcome.|
00000008
如上,w 的十六進制 ASCII 碼為 77,e 為 65。
od
另一個十分常用的工具是 od。該工具提供 -x 參數用于輸出十六進制的文件原始數據。
$ od -x file1
0000000 6577 636c 6d6f 0a65
0000010
同樣,為了讓輸出更加易讀,可使用 -c 參數輸出文本。
$ od -xc file1
0000000 6577 636c 6d6f 0a65
w e l c o m e
0000010
xxd
xxd 是一個稍特殊的工具,它還提供了一個 -r 選項,可將十六進制信息轉換回原始文件,可用于編輯 Hex 內容。
$ xxd file1
0000000: 7765 6c63 6f6d 650a welcome.
假設我們有 file2 文件,內容如下:
$ cat file2
000000: 7765 6c63 6f6d 650a
那么我們可以使用 -r 選項來將其轉換為原文件內容:
$ xxd -r file2
welcome
hexyl
sharkdp/hexyl 是一款使用 Rust 編寫的 Hex 查看器,支持高亮不同種類的字節。
它并不常見,是我最近在 GitHub 上發現的一個小工具,前些天上到 Trending 狂攬 1k+ Stars。
$ hexyl file1
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 77 65 6c 63 6f 6d 65 0a ┊ │welcome_┊ │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘
它還支持使用 -n <N> 選項來限制僅讀取文件的前 <N> 個字節。
$ hexyl -n 2 file1
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 77 65 ┊ │we ┊ │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘
Vim
Vim 可謂是編輯器界的「重量級武器」了。上文我們介紹的都是 Hex 查看器,不僅如此,Vim 還提供了直接的編輯功能。
使用 Vim 打開文件后,輸入 :% ! xxd 命令,界面將變成類似如下格式:
00000000: 7765 6c63 6f6d 650a welcome.
接著你可以隨意編輯文本了,就像使用 xxd 轉換后進行編輯修改一樣。
完成后,輸入 :%!xxd -r 命令并保存即可。
參考資料
http://www.theunixschool.com/2011/06/3-dif...
https://stackoverflow.com/questions/827326...
總結
以上是生活随笔為你收集整理的macOS 终端可用的 Hex 查看与编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Spartacus B2B页面的
- 下一篇: SAP Spartacus naviga