许多压缩算法利用了数据中存在冗余/模式的事实。例如,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文件,而不会破坏网络的带宽。
所以我有几个问题:
人们是否曾对数据进行编码以便更好地进行压缩?
人们是否曾“双重压缩”他们的数据?
是否有任何众所周知的“双重”压缩示例,其中数据经过压缩,加密或编码,然后再次压缩?
答案 0 :(得分:3)
良好的加密会产生高质量的随机数据,因此无法进行压缩。可压缩结果的可能性恰好发生了#34;来自加密的加密与来自任何其他随机数据源的加密相同。这根本不是。
答案 1 :(得分:1)
双重压缩就像永久运动。这是一个经常讨论的想法但从未奏效。如果它工作,你可以压缩,压缩和压缩,并将文件降低到1位...见 How many times can a file be compressed?
根本问题是大多数文件都不可压缩 - 随机,加密文件甚至更少。
回答你的问题:
1)是的!见burrows wheeler compression2)没有。
3)没有。