hz.png

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

只有十六进制部分的修改才会被采用。右边可打印文本部分的修改忽略不计。


0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注