怎么樣把兩個壓縮文件壓到一起?
簡單回答,可以把多個文件完全壓縮成一個文件,也可以達到你說的壓縮效果,但是慢!
It如果你只是在實驗室里做實驗,這沒什么問題,但這并不容易。;這是普遍現象。
用軟件的時候要考慮很多問題。
1.算法的局限性。像常用的LZ77、GZIP、snappy,在匹配同一個字符串時,對歷史緩沖區的大小和最大匹配長度都有限制。以你說的例子為例。當你遇到第二個100M的時候,你需要尋找100M的位置來找到匹配,但是匹配這個100M是需要代價的(包括100M的內存消耗和匹配100M長度所需的時間),這會讓壓縮過程非常非常慢!其次,最大匹配長度的問題。同樣,你可以不要在有限的時間內無限期要求更長的匹配,這是有門檻的。一般來說,匹配窗口的大小通常是幾KB到幾MB(snappy是64KB),最大匹配長度更小?;谧值涞模鏛Z78和LZW也有字典大小和最大匹配長度的問題,所以我贏了這里不再贅述。
2.壓縮率和壓縮速度的軟件折衷。簡單來說,壓縮比越大,壓縮速度越快,反之亦然。主要看追求什么樣的平衡。即使盲目追求壓縮比,用一個算法壓縮100M還是很貴的。最好使用多層壓縮。例如,GZIP使用霍夫曼和LZ77的組合。當然也可以使用文件到文件的查重算法(云端一秒上傳電影的各種例子),但是這個只適合云端備份,暫時不適合多文件壓縮打包(量太小不實用,浪費資源)。
3.多文件壓縮偏好每個單獨的壓縮,這主要是由性能決定的。比如你有16個文件要壓縮,如果一開始分別壓縮,可以調動16個線程一起壓縮,時間會縮短16倍。然后花一點時間把壓縮文件粘貼在一起,添加元數據。如果是一起壓縮,因為并行壓縮算法比較難,基本上是一個線程在工作(很多多線程也是先把文件切成多份,原理同上),會慢很多。解壓也是一樣的。通過調動多個線程,可以同時解壓縮單個壓縮文件。另外,如果解壓時我只需要其中一個文件,這種壓縮更有優勢。我只需要讀取元數據,只解壓文件中需要的部分,而不需要解壓所有文件。
一大堆文件怎么壓縮?
要壓縮打包多個文件,首先要在電腦上安裝一個文件壓縮程序,比如winrar。
然后你就可以把所有需要打包的文件放在一個文件夾里,然后進入下一級,右擊文件夾,選擇壓縮文件夾進行壓縮打包。
您也可以選擇文件夾中的所有這些文件。,然后右鍵單擊任意文件,選擇壓縮文件,完成多個文件的壓縮和打包。