简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:理解xxd工具的用法
xxd
是一个 Linux 命令,它在文本和二进制之间进行转换,并且还可以显示文件的十六进制内容。它主要有两个功能:
-
二进制与十六进制的转换:
xxd
可以将二进制文件转换为十六进制表示,并将结果输出到终端或保存到文件中。它还可以将十六进制文件转换回原始的二进制格式。这对于分析二进制文件、网络数据包以及编写脚本和工具非常有用。 -
十六进制文件的显示:
xxd
还可以以十六进制和 ASCII 的形式显示文件的内容。这对于查看文件的内容、检查文件是否有特定的模式或用于调试目的非常有帮助。
2.实践
# xxd -help
Usage:xxd [options] [infile [outfile]]orxxd -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 -ps,-i,-r). Default hex.-C capitalize variable names in C include file style (-i).-c cols format <cols> octets per line. Default 16 (-i: 12, -ps: 30).-E show characters in EBCDIC. Default ASCII.-e little-endian dump (incompatible with -ps,-i,-r).-g bytes number of octets per group in normal output. Default 2 (-e: 4).-h print this summary.-i output in C include file style.-l len stop after <len> octets.-o off add <off> to the displayed file position.-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.-d show offset in decimal instead of hex.-s [+][-]seek start at <seek> bytes abs. (or +: rel.) infile offset.-u use upper case hex letters.-v show version: "xxd 2021-10-22 by Juergen Weigert et al."
- 安装xxd命令
sudo apt install xxd
- 将二进制文件转换为十六进制并输出到终端:
xxd test.txt
- 将二进制文件转换为十六进制并保存到文件:
xxd test.txt > test_hex.txt
只转换裸数据,不填加ascii码.
xxd -p test.txt > test_hex.txt
- 将十六进制转换原始裸数据二进制格式:
xxd -r -p test_hex.txt test.bin
- 以十六进制和 ASCII 形式显示文件的内容:
xxd -g 1 test.txt