相关文章推荐
阳光的枇杷  ·  吴开亮 - 南方科技大学深圳国际数学中心·  2 月前    · 
精明的铁链  ·  适用于 Databricks ...·  6 月前    · 
忐忑的爆米花  ·  【解决ts报错】 不能将类型“string ...·  1 年前    · 
气势凌人的西装  ·  media.extractor媒体扫描耗电的 ...·  2 年前    · 
气势凌人的苦咖啡  ·  Inno Setup编译器自定义输入控件 ...·  2 年前    · 
Code  ›  将二进制文件内容转储到JSON数组中开发者社区
content 数组 二进制 jq
https://cloud.tencent.com/developer/ask/sof/508827
大鼻子的小虾米
2 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 将二进制文件内容转储到JSON数组中
Stack Overflow用户
提问于 2021-10-28 21:17:07
EN

我有一个二进制文件,我想将其打包为JSON数组,如下所示:

{
  "content": [0, 23, 45,...]
}

现在,我使用十六进制转储将文件转储到一个单独的文件中(以打印为带逗号的无符号U8),并手动将这些内容粘贴到数组中:

hexdump -ve '1/1 "%u," foo.bin > foo_arr

为了寻找一种更好的方法来实现这一点,最好是通过命令行(jq,标准的*nix工具),JavaScript也可以工作,但我宁愿避免它。

3 177 0 票数 3
EN
javascript
json
bash
jq
binaryfiles

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-10-28 21:35:06

这里有一个选择:

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

在这里,我使用 jq 的 -s 标志("slurp")将标准输入的所有行作为一个数组读取,然后简单地使用该数组作为 content 的值。

例如:

$ python -c 'open("foo.bin", "wb").write(b"abc")'
$ hexdump -ve '1/1 "%u\n"' foo.bin | jq -s '{content: .}'
  "content": [
 
推荐文章
阳光的枇杷  ·  吴开亮 - 南方科技大学深圳国际数学中心
2 月前
精明的铁链  ·  适用于 Databricks Runtime 12.2 LTS 及更低版本的 Databricks Connect - Azure Databricks | Microsoft Learn
6 月前
忐忑的爆米花  ·  【解决ts报错】 不能将类型“string | undefined”分配给类型“string”_不能将类型“{}”分配给类型“string”-CSDN博客
1 年前
气势凌人的西装  ·  media.extractor媒体扫描耗电的彻底解决办法(转载) - 不算了解你 - 博客园
2 年前
气势凌人的苦咖啡  ·  Inno Setup编译器自定义输入控件 并动态写入xml配置文件_inno setup 输入信息写入文件_黄焖鸡米的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号