压缩打包文件的几种方法 怎么样把两个压缩文件压到一起?
怎么样把两个压缩文件压到一起?
简单回答,可以把多个文件完全压缩成一个文件,也可以达到你说的压缩效果,但是慢!
It 如果你只是在实验室里做实验,这没什么问题,但这并不容易。;这是普遍现象。
用软件的时候要考虑很多问题。
1.算法的局限性。像常用的LZ77、GZIP、snappy,在匹配同一个字符串时,对历史缓冲区的大小和最大匹配长度都有限制。以你说的例子为例。当你遇到第二个100M的时候,你需要寻找100M的位置来找到匹配,但是匹配这个100M是需要代价的(包括100M的内存消耗和匹配100M长度所需的时间),这会让压缩过程非常非常慢!其次,最大匹配长度的问题。同样,你可以 不要在有限的时间内无限期要求更长的匹配,这是有门槛的。一般来说,匹配窗口的大小通常是几KB到几MB (snappy是64KB),最大匹配长度更小。基于字典的,如LZ78和LZW也有字典大小和最大匹配长度的问题,所以我赢了 这里不再赘述。
2.压缩率和压缩速度的软件折衷。简单来说,压缩比越大,压缩速度越快,反之亦然。主要看追求什么样的平衡。即使盲目追求压缩比,用一个算法压缩100M还是很贵的。最好使用多层压缩。例如,GZIP使用霍夫曼和LZ77的组合。当然也可以使用文件到文件的查重算法(云端一秒上传电影的各种例子),但是这个只适合云端备份,暂时不适合多文件压缩打包(量太小不实用,浪费资源)。
3.多文件压缩偏好每个单独的压缩,这主要是由性能决定的。比如你有16个文件要压缩,如果一开始分别压缩,可以调动16个线程一起压缩,时间会缩短16倍。然后花一点时间把压缩文件粘贴在一起,添加元数据。如果是一起压缩,因为并行压缩算法比较难,基本上是一个线程在工作(很多多线程也是先把文件切成多份,原理同上),会慢很多。解压也是一样的。通过调动多个线程,可以同时解压缩单个压缩文件。另外,如果解压时我只需要其中一个文件,这种压缩更有优势。我只需要读取元数据,只解压文件中需要的部分,而不需要解压所有文件。
一大堆文件怎么压缩?
要压缩打包多个文件,首先要在电脑上安装一个文件压缩程序,比如winrar。
然后你就可以把所有需要打包的文件放在一个文件夹里,然后进入下一级,右击文件夹,选择压缩文件夹进行压缩打包。
您也可以选择文件夹中的所有这些文件。,然后右键单击任意文件,选择压缩文件,完成多个文件的压缩和打包。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。