答案1
通过用近乎随机的名称替换函数名称,然后更改函数的调用模式并预压缩文件(“缩小”),您可以有效地删除压缩算法可以看到并用于进一步压缩文件的所有重复块。
如果数据流中没有重复块,压缩算法就无法删除重复块,但您看到文件大小增加的原因是压缩方法有其自身的开销,它会将其放入输出文件中。压缩器将有一个在文件中重复的“短语”字典,然后压缩文件本质上是对该字典的查找列表,但如果文件中没有重复项,字典将成为原始文件的副本,查找仍然存在,每个查找仅指向字典中的一个项目。
这意味着对于已压缩的文件,输出文件不可能小于原始文件。您最终将始终存储整个文件以及一个查找表,该查找表告诉解压缩算法如何重建原始文件。