gpt4 book ai didi

linux - 解析 ASCII 十六进制转储以正确转换为二进制

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:59 27 4
gpt4 key购买 nike

默认情况下,由 U-boot md.b(内存显示)命令生成的 ASCII HEX 内存转储包含带有相应 ASCII 文本的附加列翻译。在将 ascii 十六进制转储转换为二进制之前,需要从转储中清除多余的内容。 md.b 不能在没有 ascii 表的情况下生成转储。当我转换包含 ascii 表的原始十六进制转储时,我得到的输出文件比它应该的大得多。

xxd -r -p input.txt output.bin

如何解析十六进制转储文件以删除 ascii 表,以生成正确的 ascii 十六进制输入以正确转换为二进制?最好使用 linux xxd

编辑: 十六进制转储的一部分。注意:转储顶部和底部的大片区域是空的,数据位于中间某处。

20000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
20000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
20000020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................
--------
20062270: 29 ef a3 43 3c ae 21 d8 25 ed 04 04 c0 cb 65 ad )..C<.!.%.....e.
20062280: a5 60 19 98 65 ad 22 7d f2 14 5c bb 70 96 c7 6c .`..e."}..\.p..l
20062290: 24 d0 fe 21 d0 48 f0 86 16 85 82 db 08 5a 67 c5 $..!.H.......Zg.
200622a0: 21 6f dc 6b a3 64 2b 53 64 98 15 27 46 d6 c1 39 !o.k.d+Sd..'F..9
200622b0: 59 ac ce 49 7c 0e be 00 7e cd da 8a ea fb 34 88 Y..I|...~.....4.
200622c0: e3 f3 fe b1 7b e9 16 b7 3a a2 6e 69 92 7b a7 a6 ....{...:.ni.{..
200622d0: a4 1e e8 c3 d1 58 b0 5a 25 cb 38 89 17 89 1f 27 .....X.Z%.8....'
200622e0: 8b ab 24 58 19 5d d6 1e 6c de a3 76 a1 c5 c4 0f ..$X.]..l..v....

最佳答案

以下命令提供正确的二进制转换:

xxd -r -seek -0x20000000 input.txt output.bin

xxd -r -p 期望以纯十六进制格式输入,没有地址或 ASCII。

xxd -r 假定地址是从零开始的。

xxd -r -seek -0x20000000 将寻求跳过转储中不存在的区域(第一个 0x20000000 = 536870912 字节)。

所有功劳归于lumato .

关于linux - 解析 ASCII 十六进制转储以正确转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47813400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com