2

是否可以通过检测一个物体的base64编码的变化来检测物体的变化程度。

假设我向多个用户发送了一个文档附件,每个用户都对其进行了更改并通过电子邮件发送给我,我是否可以使用原始 base64 和收到的 base64 之间的字符串距离来检测哪个版本的更改最多。这会是一个有效的指标吗?

如果没有,是否有任何其他指标来量化增量?

4

4 回答 4

4

这完全取决于您编码的文档的类型。如果它是一个文本文件,那么可以肯定的是,base64 编码的差异可能与实际更改相当。但是,您可能有一种文件格式,其中对内容的更改有效地产生了一个完全不同的二进制文件。ZIP 文件就是一个例子。

于 2010-03-16T14:44:08.633 回答
0

Base64 将 3x8 位值组打包成 4x6。如果您将一个 8 位值更改一位那么您只会影响 6 位值中的一个。如果您更改两位,那么您有大约 5/12 的机会达到其他 6 位值之一。因此,如果您计算位,则完全等效;否则,您将根据您使用的指标引入噪音。

于 2010-03-16T14:54:40.557 回答
0

你应该做与diff相同的事情。然后例如对差异字段大小进行度量。

于 2010-03-16T14:43:38.753 回答
0

理论上,是的,如果做一个智能差异(检测插入、删除和修改)。

实际上,不,除非文档是绝对纯文本。二进制格式不能有意义地区分。

于 2010-03-16T14:45:44.990 回答