Linux系统显示16进制工具 主要有 hexdump hexyl hexedit 三款
hexdump
目前在Debian 11中取消预装,需要安装bsdmainutils
包,安装后还会安装ncal cal hd hexdump
等- ncal 和 cal 显示一个当月日历,
hd
是 hexdump 的缩写命令 hexyl
可以彩色文本显示16进制,字母 空格 和 汉字(数据),会区分显示,推荐安装和使用hexedit
可以编辑16进制文件- 除了这3款软件,还可以使用
xxd
显示16 进制,这个软件是vim
的插件
apt install bsdmainutils hexedit hexyl
echo "汉字 UTF-8" > hz.txt
cat hz.txt
hexdump hz.txt
hd hz.txt
hexyl hz.txt
hexedit hz.txt
vim -b hz.txt
vim中显示16进制的值
一个真正的二进制编辑器用两种方式来显示文本: 二进制和十六进制格式。你可以在 Vim
里通过转换程序 "xxd" 来达到这效果。该程序是随 Vim 一起发布的。
首先以二进制方式编辑这个文件:
vim -b datafile
现在用 xxd 把这个文件转换成十六进制:
:%!xxd
文本看起来像这样:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
现在你可以随心所欲地阅读和编辑这些文本了。 Vim 把这些信息当作普通文本来对待。
修改了十六进制部分并不导致可打印字符部分的改变,反之亦然。
最后, 用下面的命令把它转换回来:
:%!xxd -r
只有十六进制部分的修改才会被采用。右边可打印文本部分的修改忽略不计。