首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么第一个字节在“无与伦比”工具中是这样的?

为什么第一个字节在“无与伦比”工具中是这样的?
EN

Stack Overflow用户
提问于 2015-10-26 13:33:05
回答 1查看 274关注 0票数 0

我有两个二进制文件,假设它们应该是相同的,但它们不是。因此,我使用二进制diff工具来查看它们。但是两个不同的工具,Beyond UltraCompare,在第一个字节中给出了不同的结果。

我使用HxD工具来验证内容,而且HxD似乎支持UltraCompare。

有人能告诉我这是什么意思吗?这是否意味着在某些情况下,超越比较是不可靠的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 15:25:25

在“超越比较空间”中,与交叉孵化的▨背景表示缺少(添加或删除)字节。在您的图像中,左边的文件以右边没有的0x00字节开始。BC将显示文件内容中的空白,使其余的字节可视地排列起来。这也表明十六进制地址显示为“行号”在两边是不同的,这也是文件的其余部分显示为黑色(精确匹配)的原因。空白对文件的内容没有任何影响,它只是一种更清晰地表示对齐的方法。

在这种情况下,UltraCompare显然没有调整对齐方式,所以每个0xC8字节都与0x00字节对齐,反之亦然,这就是为什么整个比较显示为差异(红色)。

HxD只是显示一个文件,而不是比较文件,所以它不需要使用空白来显示对齐。UltraCompare是否更好取决于您希望比较做什么。它只是将字节1与字节1、字节2与字节2等进行比较,而BC则是在考虑添加和删除的情况下对文件进行比对。在这个例子中,它显示左边的字节1被添加,所以在右边不匹配任何东西,左边的字节2和左边的字节1相同,左边的字节3与右边的字节2匹配,等等。

如果二进制数据可以有插入和删除(例如,如果它包含文本字符串或可变长度的头),那么BC的方法会更好,因为如果一方只有一个附加的字节(如本例),它将避免将整个文件显示为不同。

如果二进制数据是固定大小的,例如位图,那么UltraCompare所做的就更好了,因为它没有调整偏移量来更好地排列。因为您的文件名被标记为"pixelData“,所以我认为这是您更喜欢的行为。在这种情况下,在“超越比较”中,您可以通过使用“会话”菜单的“会话设置”来更改.命令并将“比较”对齐设置从“完成”切换到“无”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33347083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档