7z
壓縮檔案格式
在計算機科學中,7z是一種可以使用多種壓縮算法進行數據壓縮的檔案格式。該格式最初被7-Zip實現並採用,但是這種檔案格式是公有的,並且7-Zip軟件本身亦在GNU寬通用公共許可證 (GNU LGPL)協議下開放源代碼。目前LZMA軟件開發工具包的最新版本為v19.00。
副檔名 |
.7z |
---|---|
網路媒體型式 |
application/x-7z-compressed |
統一類型標識 | org.7-zip.7-zip-archive |
開發者 | 伊戈爾·帕夫洛夫 |
首次發布 | 1999[1] |
格式類型 | 資料壓縮 |
免費格式? | 是(GNU較寬鬆公共許可證) |
網站 | 7-zip 官網 |
7z格式的MIME類型為application/x-7z-compressed
.
特色與高性能
編輯7z格式的主要特色有:
- 開源且模塊化的組件結構(允許使用任何壓縮,轉換或加密算法)
- 高壓縮比率(使用不同的壓縮演算法會有不同的結果)
- 使用AES-256加密
- 支持超大文件(最大支持到16EB)
- Unicode文件名支持
- 支持固實壓縮,容許內類的檔案在用一個串流中壓縮,使類似的內容被有效的壓縮。
- 壓縮檔檔頭壓縮
- 支援多執行緒壓縮
- 支援分割壓縮
加密
編輯7z格式支持256位鍵鑰AES算法加密。鍵鑰則由用戶提供的口令(密碼短語)進行SHA-256hash算法得到。SHA-256執行218 (262144)次[2](這種技術稱為密鑰延伸),使得對口令的暴力解碼更加困難。當前基於GPU的或是自製硬件限制了這種密鑰延伸的有效性[3],所以選擇一個強口令仍然很重要。7z格式提供了選項可以加密文件名。
壓縮
編輯該格式的開發結構允許添加標準以外的壓縮算法。
現在支持以下算法:
- LZMA - 改良和優化算法後的LZMA最新版本,使用馬爾可夫鏈/熵信息編碼和Patricia trie。
- LZMA2 - 經過改良後的LZMA算法,支援更多 CPU 執行緒。
- PPMD - 基於Dmitry Shkarin之上的算法2002 PPMdH(PPMII/cPPMII)並加以優化:PPMII是1984年的PPM壓縮算法(局部匹配思想是開創)的進階版本。
- BCJ - 32位x86可執行文件轉換程序,參見LZMA。對短程jump操作和調用操作的目標地址進行壓縮。
- BCJ2 - 32位x86可執行文件轉換程序,參見LZMA。對jump操作,調用操作和有條件jump操作的目標地址進行單獨壓縮。
- Bzip2 - 標準BWT算法。Bzip2使用(更快的)哈夫曼編碼和(更強的)熵信息編碼。
- DEFLATE - 標準LZ77-based算法。
算法的實現
編輯下列壓縮軟件支持7z文件格式:
參見
編輯參考來源
編輯- ^ HISTORY of the 7-Zip. [2013-07-05]. (原始內容存檔於2010-04-19).
- ^ 7-zip source code. [2019-05-27]. (原始內容存檔於2019-03-22).
- ^ Colin Percival. scrypt (頁面存檔備份,存於網際網路檔案館). As presented in "Stronger Key Derivation via Sequential Memory-Hard Functions" (頁面存檔備份,存於網際網路檔案館). presented at BSDCan'09, May 2009.
外部連結
編輯- 7z Format(頁面存檔備份,存於網際網路檔案館) — 關於7Z格式壓縮文件的說明
- 7-Zip(頁面存檔備份,存於網際網路檔案館) — the original file archiver for Microsoft Windows
- p7zip(頁面存檔備份,存於網際網路檔案館) — a port of 7-Zip for Unix-like systems
- 7zX(頁面存檔備份,存於網際網路檔案館)(Mac OS X)
- Dimtry Shkarin (Institute for Dynamics of Geospheres, Moscow, Russia) 2002: PPM: One Step to Practicality