将二进制数据转换为 C 程序的十六进制字符串

标签 c language-agnostic binary hex

我有一个小的二进制图像,需要用 C 程序表示。表示形式如下:

static const char[] = {0x1, 0x2, 0x3, 0x4...};

(因此,字节将表示为一系列字符)

如何将二进制文件转换为漂亮的 0x..,0x.. 字符串?有没有程序可以做到这一点?

最佳答案

使用 xxd 实用程序:

$ xxd -i binary.bin > binary.c

将创建包含以下内容的 binary.c:

unsigned char binary_bin[] = {
  0x01, 0x02, 0x03, 0x04,   . . .
  . . .
};
unsigned int binary_bin_len = 123456;

关于将二进制数据转换为 C 程序的十六进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5679834/

相关文章:

multithreading - Thread.Sleep() 除了模拟持久任务之外还有其他用途吗?

python - 参数指向 PySys_SetArgv() 的字符串是否应该保留在内存中直到 Py_Finalize()?

c - C中父进程退出时杀死子进程

language-agnostic - 关于网络技术的初学者问题

sql - 在棕地应用程序中实现单元测试的首要任务是什么?

c - 自然对齐的内存地址

c# - 我可以直接在 C# 中将存储为字符串的二进制文件写入二进制文件吗?

python - 在python中将二进制整数写入文件

c - 关于C语言socket编程的几个问题

c - 如果 execvp 失败则终止子进程