Является ли сжатие Zstd / Zlib биективным? - PullRequest
0 голосов
/ 02 апреля 2019

Это скорее концептуальный вопрос, но если у меня есть Файл A и Файл B, возможно ли, чтобы Compressed (A) был равен Compressed (B), если A! = B. Кроме того, если сжатые представленияА и В совпадают, А и В гарантированно совпадают?

1 Ответ

1 голос
/ 03 апреля 2019

Вопрос, кажется, не о биекции.

Эти алгоритмы будут возможно биективными, если для данного File A будет один и только один Compressed(A) возможный.

Это явно не тот случай: просто поиграйте с уровнями сжатия, у вас есть несколько разных версий Compressed(A), которые распаковываются обратно до одного и того же File A.Так что это не bijection .

Однако, другое направление гарантировано: данный Compressed(something) может регенерировать один и только один something.И поскольку сжатие без потерь, это гарантирует, что если Compressed(A) == Compressed(B), то обязательно A == B.

Но не путайте это с биекцией.Когда A == B, это не означает, что Compressed(A) == Compressed(B), поскольку они могут быть сжаты по-разному (с использованием разных уровней сжатия или других расширенных параметров).

...