这更像是一个概念性的问题,但如果我有一个文件A和一个文件B,如果A!= B,压缩(A)是否可能等于压缩(B)。此外,如果压缩表示A和B匹配,A和B保证匹配?
问题似乎不是关于双射。
如果对于给定的File A
,可能存在一个且仅有一个Compressed(A)
,则这些算法可能是双射的。
显然不是这样的:只要玩压缩级别,你有多个不同版本的Compressed(A)
,它们可以解压缩回相同的File A
。所以这不是一个bijection。
然而,另一个方向是有保证的:给定的Compressed(something)
可以再生一个且只有一个something
。而且由于压缩是无损的,它保证如果Compressed(A) == Compressed(B)
,那么必然A == B
。
但不要将其与双射混淆。当A == B
时,它不遵循Compressed(A) == Compressed(B)
,因为它们可能被不同地压缩(使用不同的压缩级别或其他高级参数)。