atitit.壓縮演算法 ZLib ,gzip ,zip 最佳實務 java .net php

來源:互聯網
上載者:User

標籤:ons   技術分享   lib   版本   inf   alt   name   div   post   

atitit.壓縮演算法 ZLib ,gzip ,zip   最佳實務  java .net php

 

1. 壓縮演算法的歸類::: 純演算法,帶歸檔演算法 1

2. zlib(適合字串壓縮) 1

3. gzip( 適合單個的檔案) 1

4. zip 2

5. java jdk 給zlib,gzip,zip的支援 2

6. zlib---gzip 壓縮在後長度比較 2

7. 別的bzip,,tar 2

8. 參考 3

 

1. 壓縮演算法的歸類::: 純演算法,帶歸檔演算法

 

ZIP、RAR等歸檔演算法

ZLib能夠簡單的理解為壓縮/解壓縮演算法,它與ZIP、RAR等歸檔演算法有所不同, 

 

2. zlib(適合字串壓縮)

zlib是一個通用的壓縮開源庫。提供了在記憶體中壓縮和解壓的函數,包含對解壓後資料的校正。眼下版本號碼的zlib僅僅支援deflate方法,    它的設計目標是處理單純的資料(而無論資料的來源是什麼)

 

作者::老哇的爪子Attilax艾龍,EMAIL:[email protected]

轉載請註明來源: http://blog.csdn.net/attilax

 

3.   gzip( 適合單個的檔案)

  gzip也是一種資料壓縮格式,能夠大體分為頭部,資料部和尾部三個部分,當中頭部和尾部主要是一些文件屬性和校正資訊(rfc1952)。資料部主要是用deflate方法壓縮得到的資料。

gzip是一種檔案壓縮公用程式(或該壓縮公用程式產生的壓縮檔格式),它的設計目標是處理單個的檔案。gzip在壓縮檔裡的資料時使用的就是zlib。為了 儲存與檔案屬性有關的資訊。gzip須要在壓縮檔(*.gz)中儲存很多其它的頭資訊內容。而zlib不用考慮這一點。但gzip僅僅適用於單個檔案,所以我 們在UNIX/Linux上常常看到的壓縮包尾碼都是*.tar.gz或*.tgz。也就是先用tar把多個檔案打包成單個檔案。再用gzip壓縮的結 果。

 

4. zip

zip是適用於壓縮多個檔案的格式(對應的工具有PkZip和WinZip等),因此,zip檔案還要進一步包括檔案檔案夾結構的資訊,比gzip的頭資訊 很多其它。但須要注意,zip格式可採用多種壓縮演算法,我們常見的zip檔案大多不是用zlib的演算法壓縮的。其壓縮資料的格式與gzip大不一樣。

 

 

5. java jdk 給zlib,gzip,zip的支援

 

Java SDK提供了對上述三種壓縮技術的支援:Inflater類和Deflater類直接用zlib庫對資料壓縮/解壓縮,GZIPInputStream類 和GZIPOutputStream類提供了對gzip格式的支援,ZipFile、ZipInputStream、ZipOutputStream則用 於處理zip格式的檔案

6. zlib---gzip 壓縮在後長度比較

gzip>>>zlib

244>>>214  

 

7. 別的bzip,,tar

GZIP是JDK內建的演算法實現,但BZip2則不曾享受這個待遇。

 只是。強大的Apache堅決不會讓這些個在Linux下如魚得水的演算法在Java世界中銷聲匿跡。

Apache在Commons Compress中提供了對應的實現。

同一時候,還包含眾所周知的tar、cpio、zip等演算法實現。當中最為豐富的當屬zip

 

在linux下,tar是一個歸檔命令。當然,假設配合gzip、bzip2就能夠達到歸檔+壓縮的效果! 
我們通過tar獲得歸檔壓縮檔事實上恰恰包括了歸檔和壓縮兩個操作。而且其操作次序也是先做歸檔操作。再做壓縮操作! 通常我們忽略了歸檔的概念。將歸檔壓縮檔簡稱為壓縮檔。~ 

Java壓縮技術(七) TAR——Commons實現

8. 參考

Java壓縮技術(七) TAR——Commons實現 - Snowolf的意境空間! - ITeye技術網站.htm

有關壓縮的一些東西 - wyingquan的專欄 - 部落格頻道 - CSDN.NET.htm

atitit.壓縮演算法 ZLib ,gzip ,zip 最佳實務 java .net php

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.