加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

hexdump主要用来查看二进制文件的十六进制编码

发布时间:2023-06-19 09:32:22 所属栏目:Linux 来源:未知
导读:   Linux常用命令hexdump主要用来查看“二进制”文件的十六进制编码。***注意:它能够查看任何文件,不限于与二进制文件,下面为大家分享一下Linux常用命令hexdump命令具体使用
  Linux常用命令hexdump主要用来查看“二进制”文件的十六进制编码。***注意:它能够查看任何文件,不限于与二进制文件,下面为大家分享一下Linux常用命令hexdump命令具体使用方法。
 
  语法
 
  hexdump [选项] [文件]…
 
  选项
 
  –n length:格式化输出文件的前length个字节
 
  –C:输出规范的十六进制和ASCII码
 
  -b:单字节八进制显示
 
  -c:单字节字符显示
 
  -d:双字节十进制显示
 
  -o:双字节八进制显示
 
  -x:双字节十六进制显示
 
  -s:从偏移量开始输出
 
  -e 指定格式字符串
 
  ,格式字符串由单引号包含,格式字符串形如:’a/b “format1” “format2”。每个格式字符串由三部分组成,每个由空格分割,如a/b表示,b表示对每b个输入字节应用format1格式,a表示对每个a输入字节应用format2,一般a>b,且b只能为1,2,4,另外a可以省略,省略a=1。format1和format2中可以使用类似printf的格斯字符串。
 
  %02d:两位十进制
 
  %03x:三位十六进制
 
  %02o:两位八进制
 
  %c:单个字符等
 
  %_ad:标记下一个输出字节的序号,用十进制表示
 
  %_ax:标记下一个输出字节的序号,用十六进制表示
 
  %_ao:标记下一个输出字节的序号,用八进制表示
 
  %_p:对不能以常规字符显示的用.代替
 
  同一行显示多个格式字符串,可以跟多个-e选项
 
  实例
 
  C语言保存二进制文件test
 
   #include
 
   #include
 
   int main() {
 
           FILE *fp_in;
 
           fp_in = fopen("test", "wb");
 
           if (fp_in == NULL) {
 
                   printf("open test failed\n");
 
                   return -1;
 
           }
 
           else {
 
                   for (unsigned char i = 0; i
 
  编译:g++ main.cpp -o main 执行:./main即可生成二进制文件test
 
 
  格式化输出文件
 
  hexdump test
 
  格式化输出文件的前10个字节
 
  hexdump -n 10 test
 
  格式化输出文件的前10个字节,并以16进制显示
 
  hexdump -n 10 -C test
 
  格式化输出从10开始的10个字节,并以16进制显示
 
  hexdump -n 10 -C -s 20
 
  格式化输出文件字符
 
  hexdump -e ‘16/1 “%02X ” ” | “’ -e ‘16/1 “%_p” “\n”’ test
 
  hexdump -e ‘1/1 “0x%08_ax “’ -e ‘8/1 “%02X ” ” * “’ -e ‘8/1 “%_p” “\n”’ test
 
  hexdump -e ‘1/1 “%02_ad# “’ -e ‘/1 “hex = %02X * “’ -e ‘/1 “dec = %03d | “’ -e ‘/1 “oct = %03o”’ -e ‘/1 ” _\n”’ -n 20 test
 

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章