hexdump 格式化字符串(format string)说明

本文是关于hexdump工具的格式化字符串的一些记录。

用法:hexdump -e format string

1、格式化串可以包含任意个格式化单元,他们之间通过空格分隔。

2、格式化单元最多由三部分组成。分别是迭代数(iteration count),字节数(byte count),格式(format)。

3、迭代数是可选参数。缺省是1

4、字节数是可选参数(当格式包含转义时(比如%c),该参数只能为1/2/4/8,根据转义字符要求有所不同)。

5、若迭代数字节数存在,那么必须使用斜杠符"/"连接。其中迭代数在斜杠前,字节数在斜杠后。比如(“1/1”、“1/”、“/1”)

6、格式是必须包含在双引号中,类似于printf中的格式,如("%c")。

7、迭代数字节数的作用是用来修饰格式的,迭代数/字节数和格式之间使用空格分隔。迭代数说明其后的格式希望被应用的次数,字节数说明其后的格式每次使用的字节数。如('2/4 "%x " "\n"',表示按16进制打印2次,每次读取4个字节的数据,之后换行。重复前述步骤,直到数据结尾)

9、当使用转义字符格式时: %_c, %_p, %_u, %c:字节数必须为1,缺省为1,0也可以。%d, %i, %o, %u, %X, %x:字节数可以为1/2/4,缺省为4。%E, %e, %f, %G, %g:字节数可以为4/8,缺省为8。

10、另有一些特数作用的转义字符:%_a[dox],分别表示十/八/十六进制打印行号。如(%04_ax 表示输出4字节对齐,不足补零且十六进制)

11、简单样例说明:

hexdump -e '"%04_ax " 8/1 "%x " "\n"'

下面是执行逻辑说明:

(1)、【"%04_ax "】  :输出行号+一个空格。

(2)、【8/1 "%02x "】:迭代8次,每次读取一个字节,输出当前字节的16进制值+一个空格,并且值是2字节对齐,不足补0。

(3)、【"\n"】            :换行。

(4)、重复(1),直到数据结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值