文本格式更为流行, 其编辑和比较工具都十分成熟. 但二进制格式在很多时候在所难免. 其相应的比较工具比之文本格式本来就少的多, 在本就为数不多的几个选择中这些工具又鲜为人知.
最容易想到的是UltraEdit中的比较功能, 有一个选项可以让它以二进制格式进行比较, 但是它提供的对比二进制文件不同的视图却几乎没有什么用处, 要想快速方便地找到两个文件空间不同在何处, 你还得瞪大眼睛自己盯着.
关键是注意选择"二进制"比较方式. 介绍一下这两个被比较文件的内容:
其中file1与 file2只差一个\3的字节. UltraEdit中比较结果是:
遗憾的是, 自第一个发现不同的字节之后的所有内容都被认为是"不同"的, 真正想得到"文件 file1比file2在偏移为2的位置多出一个值为0x03的字节" 这样的结论, 在这个显示结果是不可能的, 如果文件再很大, 掺杂以其它的不同, 显示结果就会更加混乱.
google搜索显示, 有一个叫jdiff的sourceforge项目可以进行二进制的比较. 但它的界面却是基于命令行上, 简单施于上述例子, 得到下面的结果:
另一个叫VBindiff 的工具, 有着下面的界面, 本质上得到的仍是与UltraEdit相同的视图. 并无用处
再看 Beyond Compare, 似乎这个工具本来就不关心二进制文件的比较, 没有这方面的特殊考虑, 结果什么也看不出来:
最后看看我最中意的 Araxis merge, 是商业软件, 目录比较, 文件文件和二进制文件都有专门的考虑:
所给的结果一目了然, 正是我想要的, 从它的帮助文件中二进制文件比较的例图中也可大致看出, 对二进制文件的比较是作了一番功夫的:
另外还有一个共享软件, 叫Binary Comparison of Files, 2.0 下载地址是
输出结果实在是简陋的不忍目睹, 没有任何用处可言.
阅读(33375) | 评论(1) | 转发(0) |