是否可以通过加密或编码来压缩已经压缩的数据?

时间:2018-01-30 23:00:54

标签: encoding compression

许多压缩算法利用了数据中存在冗余/模式的事实。例如,aaaaaaaaaabbbbbbbbbbbcccccccccccc可以压缩为10'a'11'b'12'c'

但是我的压缩数据没有更多的冗余,我无法真正进一步压缩它。但是,我可以加密或编码它并将其转换为不同的字节字符串:xyzxyzxyzxyzxyz

如果随机位恰好发生,其中有一个模式,似乎很容易利用它:5'xyz'

以下是我们的流程:

Original:         aaaaaaaaaabbbbbbbbbbbcccccccccccc
Compressed:       10'a'11'b'12'c'
Encrypted:        xyzxyzxyzxyzxyz
Compressed again: 5'xyz'

但是,您拥有的数据越多,文件越大,许多加密形式的效果就越高。特别是霍夫曼编码似乎在随机数据上运行得非常好,特别是当文件变得非常大时!!

我认为当你需要快速数据时这会很糟糕,但我认为它可能有用于存储档案或其他类似的东西。也许通过网络下载电影只需要1MB的带宽而不是4MB。然后,您可以在发生下载时解压缩电影,在硬盘驱动器上获取完整的4MB文件,而不会破坏网络的带宽。

所以我有几个问题:

  1. 人们是否曾对数据进行编码以便更好地进行压缩?

  2. 人们是否曾“双重压缩”他们的数据?

  3. 是否有任何众所周知的“双重”压缩示例,其中数据经过压缩,加密或编码,然后再次压缩?

2 个答案:

答案 0 :(得分:3)

良好的加密会产生高质量的随机数据,因此无法进行压缩。可压缩结果的可能性恰好发生了#34;来自加密的加密与来自任何其他随机数据源的加密相同。这根本不是。

答案 1 :(得分:1)

双重压缩就像永久运动。这是一个经常讨论的想法但从未奏效。如果它工作,你可以压缩,压缩和压缩,并将文件降低到1位...见 How many times can a file be compressed?

根本问题是大多数文件都不可压缩 - 随机,加密文件甚至更少。

回答你的问题:

1)是的!见burrows wheeler compression

2)没有。

3)没有。