如何获得完整hex文件的总长度(intel和Motorola hex文件)?

时间:2012-12-29 12:06:58

标签: java intel motorola

我希望获得英特尔和摩托罗拉S19十六进制文件的完整十六进制文件中不同地址记录中存在的所有数据记录的总长度。

例如,

:020000048000FC

:10246200464C5549442050524F46494C4500464C33

:10247200464C554944ABACDEAF46494C4500464C33

:02000004800AFC

:10246200464C5549442050524F46494C4500464C33

:10247200464C554944ABACDEAF46494C4500464C33

:020000049000FC

:10246200464C5549442050524F46494C4500464C33

:10247200464C554944ABACDEAF46494C4500464C33

:00000001FF

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

我用google搜索同样但我无法获得任何有用的东西。

我正在尝试比较两个hex文件。对于比较,我想得到完整的hex文件的长度。但我无法获得完整hex文件的确切长度。

任何人都可以帮我这个吗?

提前致谢!

完整的Hex文件定义为:

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

我想计算完整hex文件中数据记录的总长度。也就是说,在hex文件中每个相应地址记录下出现的所有数据记录的长度总和。

2 个答案:

答案 0 :(得分:1)

  

我正在尝试比较两个hex文件。对于比较,我想   获取完整hex文件的长度。但我无法理解   获得完整hex文件的确切长度。

为什么不使用length()

File hexFile = new File("/path/to/your/hexfile");
long length = hexFile.length();

答案 1 :(得分:0)

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