You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过命令行将二进制文件内容打包为JSON数组格式

解决方案

方案1:hexdump + jq 组合(推荐,兼容性好)

贴合现有实现的最优优化方案,直接一步生成合法JSON,无需手动处理内容:

hexdump -ve '1/1 "%u\n"' foo.bin | jq -s '{"content": .}' > result.json

说明

  • 将原命令的逗号分隔输出改为每行输出一个u8数值,避免末尾多余逗号的问题
  • jq的-s参数会把所有输入行读取为一个数组,直接封装到content字段中,输出完全符合JSON规范

方案2:纯POSIX标准工具实现(无额外依赖)

如果环境没有安装jq,可以用awk配合hexdump实现,仅依赖系统自带工具:

awk 'BEGIN{printf "{\"content\": ["} {if(NR>1) printf ","; printf "%s", $0} END{print "]}" }' <(hexdump -ve '1/1 "%u\n"' foo.bin) > result.json

方案3:Python实现(无需hexdump)

大部分*nix发行版默认预装Python,这个方案不需要依赖hexdump,代码更简洁:

python3 -c "import json, sys; print(json.dumps({'content': list(sys.stdin.buffer.read())}))" < foo.bin > result.json

说明

  • 直接读取二进制输入流,自动转换为u8整数数组
  • 原生JSON序列化输出,不存在格式错误问题

内容的提问来源于stack exchange,提问作者rookie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:15:01