转载:http://fancyxinyu.blog.163.com/blog/static/18232136620111183019942/

当我们需要把二进制转成c语言中使用的16进制字符数组时,命令xxd是很有用的。

xxd 帮助信息如下:关键选项标黑。

[root@localhost ]# xxd --help
Usage:
       xxd [options] [infile [outfile]]
    or
       xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]
Options:
    -a          toggle autoskip: A single '*' replaces nul-lines. Default off.
    -b          binary digit dump (incompatible with -p,-i,-r). Default hex.
    -c cols     format <cols> octets per line. Default 16 (-i: 12, -ps: 30).
    -E          show characters in EBCDIC. Default ASCII.
    -g          number of octets per group in normal output. Default 2. 每个goup的字节数,默认为2,可设置。
    -h          print this summary.
    -i          output in C include file style. :输出为c包含文件的风格,数组方式存在。
    -l len      stop after <len> octets.        :转换到len个字节后停止转换。
    -ps         output in postscript plain hexdump style.
    -r          reverse operation: convert (or patch) hexdump into binary.
    -r -s off   revert with <off> added to file positions found in hexdump.
    -s [+][-]seek start at <seek> bytes abs. (or +: rel.) infile offset.
   -u          use upper case hex letters. : 字节大写方式
    -v          show version: "xxd V1.10 27oct98 by Juergen Weigert".

比如运行:

> xxd -g 1 -i -u -l 10000000 nm.ts > xxd_test.txt

生成的文本显示:

unsigned char __0513_1634_ch32_666_10_ts[] = {
0X47, 0X02, 0X03, 0X13, 0XF8, 0X5A, 0XC5, 0X40, 0X26, 0XE4, 0XD0, 0XDE,
0XAD, 0XB8, 0X76, 0X89, 0X85, 0X23, 0X06, 0X04, 0X6E, 0X05, 0X8B, 0X09,
0XC0, 0X5C, 0X96, 0X4F, 0X18, 0X51, 0X41, 0XC8, 0X40, 0X9F, 0X06, 0X93,
0X38, 0XC1, 0XBB, 0X1A, 0XBC, 0XAC, 0X47, 0XFF, 0X5E, 0X54, 0XEB, 0XA7,
0X14, 0X36, 0X85, 0X8A, 0X90, 0X14, 0X17, 0XA2, 0X9D, 0XC0, 0X84, 0X56,
0XCB, 0X97, 0X78, 0XC8, 0X57, 0X15, 0X3E, 0X61, 0X6F, 0XFE, 0XC9, 0X39,
0XEF, 0XD3, 0XB6, 0X6A, 0XD2, 0XE4, 0XFB, 0X4C, 0X05, 0XF6, 0X03, 0XED,
0X50, 0XB3, 0XE7, 0X46, 0X57, 0X24, 0X71, 0X16, 0X38, 0X45, 0X53, 0X19,
0X56, 0X25, 0X3C, 0X8D, 0X4C, 0XA9, 0X28, 0X9A, 0XB2, 0X99, 0X76, 0X52,
0X28, 0XE9, 0XD6, 0XD6, 0X11, 0X94, 0X89, 0X19, 0X4D, 0XEA, 0X68, 0X76,
0X53, 0XC6, 0XAA, 0X3A, 0XD4, 0XA1, 0X25, 0XA5, 0X03, 0XB0, 0X73, 0XA0,
0XAE, 0X11, 0XC9, 0XBD, 0X37, 0X17, 0X11, 0X5F, 0X30, 0X34, 0X34, 0X0B

.....

};

unsigned int nm.ts_len = 10000000;

另外,在vim中也可以把文件转换为16进制来显示:

:%!xxd

返回正常显示:

:%!xxd -r

linux下查看二进制文件
以十六进制格式输出:
od [选项] 文件
od -d 文件  十进制输出
   -o 文件  八进制输出
   -x 文件  十六进制输出
xxd 文件  输出十六进制

在vi命令状态下:
:%!xxd   :%!od    将当前文本转化为16进制格式
:%!xxd -c 12 每行显示12个字节
:%!xxd -r    将当前文本转化回文本格式

linux 命令 xxd linux下查看二进制文件相关推荐

  1. Linux下查看二进制文件

    我们在日常开发中有时候会遇到查看二进制文件的场景,直接打开的话往往会让我们直呼外星人.此时我们就需要各种二进制查看工具了,帮助我们更好的查看二进制文件. hexdump 查看二进制文件 hexdump ...

  2. linux编译python语言指令_Python实现Linux命令xxd -i功能

    一. Linux xxd -i功能 Linux系统xxd命令使用二进制或十六进制格式显示文件内容.若未指定outfile参数,则将结果显示在终端屏幕上:否则输出到outfile中.详细的用法可参考li ...

  3. Linux 命令xxd功能

    Linux 命令xxd功能 一. Linux 命令 xxd 二. Linux xxd -i 功能 三. xxd -i 常见用途 四. xxd 其他选项用法 Linux下的xxd命令,能将一个给定文件或 ...

  4. python实现linux命令输出两列_Python实现Linux命令xxd -i功能

    def Xxdi(): #解析命令行选项及参数 ([base, cols, strip], [inFile, outFile]) = ParseOption() import os if os.pat ...

  5. Linux命令--根据端口号查看进程号(PID)

    原文网址:Linux命令--根据端口号查看进程号(PID)_IT利刃出鞘的博客-CSDN博客 简介 说明         本文用实例介绍Linux下如何根据端口号查看进程号(PID). 需求 查找80 ...

  6. Linux命令--tac(倒序查看文件所有内容)

    原文网址:Linux命令--tac(倒序查看文件所有内容)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux的tac命令的用法. tac用于倒序查看文件的所有内容.(跟cat命令相反). 示 ...

  7. Linux 命令行模式下退出 vim

    Linux 命令行模式下退出 vim 命令 说明 :q! 强制退出,不保存 :q 退出 :wq! 强制保存并退出 :w <文件路径> 另存为 :saveas 文件路径 另存为 :x 保存并 ...

  8. Linux命令篇 linux命令大全简洁明了 linux学习笔记

    Linux命令篇 linux命令大全简洁明了 linux学习笔记 Linux 命令大全 文章目录 Linux 命令大全 一. 常用的基础命令 查看目录: 切换目录: 创建和删除: 拷贝和移动文件: 查 ...

  9. linux cp命令 前面,盘点Linux命令之Linux cp命令使用大全

    Linux命令有很多,其中Linux cp命令常用的一种,Linux cp命令如何使用,下面IT培训网将为您盘点有关Linux命令之Linux cp命令大全. Linux命令之Linux cp命令详解 ...

最新文章

  1. 英特尔王锐:软硬件并驾齐驱,开发者是真英雄
  2. 用于RGB-D显著目标检测的自监督表示学习
  3. java 桥接模式_《JAVA与模式》之桥接模式
  4. 快速入门Pytorch(1)--安装、张量以及梯度
  5. 支付宝新版SDK-PC扫码支付-手机浏览器H5支付
  6. java和cnc_Java程序员的目标,你都达到了多少条?
  7. oracle执行计划的概念,SQL语句性能调整之ORACLE的执行计划
  8. 苹果画画软件_入手新iPad,这几款绘画软件必不可少!
  9. 伺服电机基本概念解析:伺服系统组成及其控制原理
  10. maxima学习笔记(一)
  11. 理解LINQ预编译查询(Compiled LINQ)
  12. vmware14克隆后UUID相同的解决方法
  13. 家事:庆祝父亲60岁生日
  14. 图形学 (-)数学基础
  15. csrf攻击与防护—2用flask简单演示防范csrf攻击之referer
  16. 用python实现水纹特效
  17. [PyTroch系列-3]:PyTorch基础 - Hello World程序与张量(Tensor)概述
  18. 手机界面显示无服务器,手机直接投屏电视,电视上显示投屏成功,却没有图像
  19. 2022考研捡漏经验贴
  20. SAP中非限制到冻结库存的相互转换操作测试过程记录

热门文章

  1. 《证券投资二十四堂课》读书笔记
  2. ServiceMesh到底好不好
  3. 查询销量最高的产品mysql_MYSQL之——查询练习题
  4. C++头文件和源文件的编译过程
  5. MaxIO智能缓存加速技术
  6. Improving Entity Linking by Modeling Latent Relations between Mentions
  7. IOS端使用WebRTC实现一对一音视频通话
  8. java输出字符串排列组合代码
  9. Python中文转数字
  10. ROUGE和pyrouge的安装