sharkdphexyl:在终端看十六进制,字节分类全靠颜色
sharkdp/hexyl:在终端看十六进制,字节分类全靠颜色
hexyl 在 GitHub 上拿到了 10.1K Star。
一个用 Rust 写的终端十六进制查看器。跟 xxd、hexdump 这些传统工具的差别是,它用不同颜色标注不同类型的字节,看二进制内容时不再靠肉眼辨认。

1、 跟 xxd 有什么不一样
xxd 和 hexdump 是大多数 Linux 发行版自带的,能用,但输出只有一种颜色。面对一屏幕十六进制数字,NULL 字节、可打印字符、控制字符、高位字节混在一起,找东西靠扫。
hexyl 把字节分了五类,每类一种颜色:
- NULL 字节(0x00)
- 可打印 ASCII 字符
- ASCII 空白字符(空格、换行等)
- 其他 ASCII 字符(控制字符,0x80 以内,NULL 除外)
- 非 ASCII 字节(0x7F 以上)
三栏布局:左侧偏移量、中间十六进制值、右侧 ASCII 显示,跟 GUI 十六进制编辑器的布局一致。数据里哪里有空白填充、哪里有可读文本、哪里有二进制结构,扫一眼就清楚。

2、 怎么装
覆盖面广,主流系统全支持。
Ubuntu 19.10 以上、Debian Buster 以上、Fedora 35 以上、Arch Linux,官方源收录,直接 apt/dnf/pacman 安装。macOS 用 brew install hexyl。FreeBSD、NetBSD、OpenBSD 各有包。Windows 用 scoop install hexyl 或去 release 页面下二进制。Termux 也支持,pkg install hexyl。
装了 Rust 的话,cargo install hexyl 一条命令跨平台。
3、 配色可以改
六个环境变量控制六类元素的颜色:
- HEXYL_COLOR_ASCII_PRINTABLE:可打印 ASCII
- HEXYL_COLOR_ASCII_WHITESPACE:空白字符
- HEXYL_COLOR_ASCII_OTHER:其他 ASCII
- HEXYL_COLOR_NULL:NULL 字节
- HEXYL_COLOR_NONASCII:非 ASCII 字节
- HEXYL_COLOR_OFFSET:左侧偏移量
支持 8 种标准终端色(black、red、green、yellow、blue、magenta、cyan、white),也有 bright 变体,还支持 #RRGGBB 格式。一行 export 换配色。

4、 适合谁用
- 做逆向分析、经常读取二进制文件结构的开发者
- 写解析器或编解码器,需要逐字节检查数据格式的人
- 用 xxd 太吃力,想换个能一眼看出字节类型的工具的人

浙公网安备 33010602011771号