通过 dclfdd 或拆分 hex 文件拆分?
To split hex file by dclfdd or split?
我正在解决关于拆分与同步进度监控的挑战 here。
假设 header 的可检测区域是十六进制的 FA FA FA FA
。
按字段拆分的步骤
- 数据的二进制到二进制 ascii 描述
- bin2hex
- 通过
gsed 's/FA FA FA FA/[=11=]/100g'
标记分割点
- 用伪代码
split -p'[=13=]' input.txt
拆分标记[=12=]
,讨论here
如何转换 bin2hex?
无法访问您共享的 link...
但是,您可以使用 bc
(bash 计算器)实用程序进行转换...也许会有更好的方法(我不知道 :-))
十六进制转二进制:
v=F; echo "ibase=16;obase=2;$(echo $v)" | bc
这会将 0xF
转换为 1111b
。
ibase
是输入基础系统 (16 => hex
)。 obase
是输出基础系统 (2 => binary
)。
二进制转十六进制:
v=1111; echo "ibase=2;obase=10000;$(echo $v)" | bc
这会将 1111b
转换为 0xF
。
ibase
是输入基础系统 (2 => binary
)。 obase
是输出基础系统(10000 => hex
(obase
应该提到使用 ibase
作为基础系统,我们的 obase
,10000b = 16 decimal => hex
)) .
我正在解决关于拆分与同步进度监控的挑战 here。
假设 header 的可检测区域是十六进制的 FA FA FA FA
。
按字段拆分的步骤
- 数据的二进制到二进制 ascii 描述
- bin2hex
- 通过
gsed 's/FA FA FA FA/[=11=]/100g'
标记分割点
- 用伪代码
split -p'[=13=]' input.txt
拆分标记[=12=]
,讨论here
如何转换 bin2hex?
无法访问您共享的 link...
但是,您可以使用 bc
(bash 计算器)实用程序进行转换...也许会有更好的方法(我不知道 :-))
十六进制转二进制:
v=F; echo "ibase=16;obase=2;$(echo $v)" | bc
这会将 0xF
转换为 1111b
。
ibase
是输入基础系统 (16 => hex
)。 obase
是输出基础系统 (2 => binary
)。
二进制转十六进制:
v=1111; echo "ibase=2;obase=10000;$(echo $v)" | bc
这会将 1111b
转换为 0xF
。
ibase
是输入基础系统 (2 => binary
)。 obase
是输出基础系统(10000 => hex
(obase
应该提到使用 ibase
作为基础系统,我们的 obase
,10000b = 16 decimal => hex
)) .