Re: [請問] 結實壓縮檔 我真是搞不懂你阿

看板EZsoft (小軟體)作者 (夏天的微笑)時間14年前 (2011/11/14 21:37), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串4/4 (看更多)
英文維基上的Solid compression(結實壓縮)條目 http://en.wikipedia.org/wiki/Solid_compression 把多個檔案壓縮成一個壓縮檔的時候 需要做壓縮及打包2個動作 不使用結實壓縮時 是先把檔案各別壓縮好 再打包成一個壓縮檔 使用結實壓縮時 則是把檔案先接成一筆資料 再進行壓縮 原po的問題確實和結實壓縮有關 舉例來說 假設壓縮某個3MB的檔案 壓出來的檔案大小是1MB 把這個檔案複製成2個 進行壓縮結果會如何? 1.不使用結實壓縮時 2個檔案分別壓縮 再打包成一個壓縮檔 所以壓縮檔的大小是1+1=2MB 2.使用結實壓縮時 2個檔案先接成1筆資料 因為是2個一模一樣的檔案 所以接起來的這筆資料所含的資訊量 和1個檔案所含的資訊量是一樣的 因此壓縮後的檔案大小會是1MB 至於相同的大檔使用結實壓縮沒有變小 應該是考量到效能的問題 所以沒去做檢查 以WinRAR來說 在壓縮檔案的畫面 切到Advanced分頁 有個"Compression..."的按鈕 裡面可以設定Directory Size 最大就只能設定到4096kb 所以你的檔案超過4MB時 使用結實壓縮就沒效果了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.219.121

11/14 21:38, , 1F
第二點的說法不對,那個跟演算方式有關
11/14 21:38, 1F

11/14 21:39, , 2F
結實的效用主要是針對非常大量的零碎小型檔案
11/14 21:39, 2F
我說的是理論 實際上當然還是要看演算法怎麼設計 顯然無論是rar還是7z 即使使用了結實壓縮 實際上還是會把資料分成相同大小的區塊 再進行壓縮 rar的部份就是上面說的Directory Size 7z則是叫做結實區塊大小 所以要享受到結實壓縮的好處 檔案就要比這個區塊還小才行 7z的結實區塊大小可以設定到很大 所以壓大檔一樣有效果 ※ 編輯: Kenqr 來自: 220.134.219.121 (11/14 21:55)

11/14 21:53, , 3F
原來winrar預設的Directory Size(中文:參照索引大小)是
11/14 21:53, 3F

11/14 21:54, , 4F
4096KB喔 難怪我怎麼壓都不對 不過我剛剛用copy /B 的方
11/14 21:54, 4F

11/14 21:56, , 5F
式合併兩個一樣的檔案 也有類似的情形 應該也是因為搜索
11/14 21:56, 5F

11/14 21:56, , 6F
範圍只有4096KB 所以超過的範圍就無法比較是否相同了
11/14 21:56, 6F

11/15 11:39, , 7F
原來是先Solid再壓縮XD
11/15 11:39, 7F
文章代碼(AID): #1EmHcAzo (EZsoft)
文章代碼(AID): #1EmHcAzo (EZsoft)