一、将文件内容显示为十六进制:
xxd filename
例如,假设有一个文件 example.bin:
xxd example.bin
这会输出 example.bin 的十六进制表示:
00000000: 4865 6c6c 6f2c 2057 6f72 6c64 210a Hello, World!.
二、生成适合包含在C代码中的C数组,将文件转换为C数组并生成头文件:
xxd -i example.txt example_txt.h
-i output in C include file style.
xxd -i filename
例如,将 example.bin 转换为C数组格式:
xxd -i example.bin
这会生成:
unsigned char example_bin[] = { 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x0a };
unsigned int example_bin_len = 13;
将文件转换为C数组并生成头文件:
xxd -i example.txt example_txt.h
生成的 example_txt.h 内容:
unsigned char example_txt[] = {
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64,
0x21, 0x0a, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20,
0x74, 0x65, 0x73, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a
};
unsigned int example_txt_len = 34;
三、这样就可以直接用#include 文件的形式赋值数组