图片的相似性比较在图形学上是一个大难题,你想只是通过源数据的对比就得出结果吗?不可能。比如一张BMP图用photoshop的“模糊”滤镜作一次处理,然后Save。这个时候整张图的2进制数据和原图已经有80%以上的不同了,但在我们的眼里看来,两张图还是有很大的相似性的。如果不是图像或者声音这一类数据,用copy_paste(木石三)的方法还是很有效的。如果你觉得逐个BYTE对比不切合实际,你可以每一KB的数据抽一部份来对比。实际应用上,很多网络协议的校验都不是对所有的数据进行检验的,它们只对其中一部份数据校验。相同的原理可以用在你的程序上。