0

我想获取英特尔和摩托罗拉 S19 hex 文件的完整 hex 文件中不同地址记录中存在的所有数据记录的总长度。

例如,

:020000048000FC

:10246200464C5549442050524F46494C4500464C33

:10247200464C554944ABACDEAF46494C4500464C33

:02000004800AFC

:10246200464C5549442050524F46494C4500464C33

:10247200464C554944ABACDEAF46494C4500464C33

:020000049000FC

:10246200464C5549442050524F46494C4500464C33

:10247200464C554944ABACDEAF46494C4500464C33

:00000001FF

(请忽略上述示例 hex 文件中记录之间的空格)。

我用谷歌搜索了同样的东西,但我找不到任何有用的东西。

我正在尝试比较两个十六进制文件。为了比较,我想获得完整的十六进制文件的长度。但我不知道要获得完整十六进制文件的确切长度。

有人可以帮我吗?

提前致谢 !

完整的十六进制文件定义为:

在 Intel Hex File 的情况下,每一行都定义为记录,并且必须以 :(冒号)开头。它可以是地址或数据记录。十六进制文件可以包含任意数量的地址记录。地址记录可以包含其数据记录。每个数据记录的长度在 :(冒号)之后的第一个字节中指定。有关详细信息,请参阅http://en.wikipedia.org/wiki/Intel_HEX

我想计算完整十六进制文件中数据记录的总长度。即 hex 文件中每个对应地址记录下存在的所有数据记录的长度总和。

4

2 回答 2

1

我正在尝试比较两个十六进制文件。为了比较,我想获得完整的十六进制文件的长度。但我不知道要获得完整十六进制文件的确切长度。

你为什么不使用length()

File hexFile = new File("/path/to/your/hexfile");
long length = hexFile.length();
于 2012-12-29T12:13:02.703 回答
0

要确定大小,您可以使用 ls -l 命令。为了比较,您可以使用 MD5,并生成一个哈希值。

于 2012-12-29T12:23:09.457 回答