📅  最后修改于: 2023-12-03 15:21:46.246000             🧑  作者: Mango
Hexdump,也被称为十六进制转储,是一种将二进制数据转换为十六进制和ASCII文本的过程。通过hexdump,程序员可以以更可读的方式查看二进制数据,这对于调试某些算法或协议非常有帮助。
Hexdump通常以16字节(或更少)的行进行格式化,并显示十六进制数值和对应的ASCII字符。
00000000: 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0A Hello World!.
在上面的例子中,第一列显示偏移量,第二列显示16进制值。第三列是ASCII字符的文本表示。偏移量是由右边列 十六进制值的地位计算的。
在Linux和MacOS系统中,我们可以使用hexdump
或者xxd
命令来查看二进制数据的Hexdump形式。以下是常见的命令:
使用命令hexdump
可以将一个文件转储为Hexdump格式,如下面的例子所示:
$ hexdump -C hello.txt
00000000 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 0a |Hello World!.|
0000000d
hexdump的-C
选项可以让输出更加易读,左侧列显示偏移量,中间列是十六进制值,右侧列显示ASCII文本。
使用xxd
命令可以快速将十六进制转换为文本形式:
$ echo "Hello World!" | xxd
00000000: 4865 6c6c 6f20 576f 726c 6421 0a Hello World!.
在这种情况下,我们将“Hello World!”传递给xxd
命令,它将输出一个空格分隔的十六进制值。左侧列仍显示偏移量,但是格式比hexdump更简单。
通过Hexdump,程序员可以以更可读的方式查看二进制数据,这对于调试某些算法或协议非常有帮助。在Linux和MacOS系统中,我们可以使用hexdump
或者xxd
命令来查看二进制数据的Hexdump形式。