日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

J2ME下的Zlib/Gzip/Zip壓縮相關(guān)

 CevenCheng 2010-12-10
一,gzip格式簡介
gzip是基于DEFLATE的壓縮文件格式。它由10字節(jié)的文件頭,可選的擴展頭,文件體(DEFLATE壓縮的數(shù)據(jù)),和8字節(jié)的尾注4個部分組成?,F(xiàn)今已經(jīng)成為Internet 上使用非常普遍的一種數(shù)據(jù)壓縮格式。(http://zh./wiki/Gzip)

DEFLATE是同時使用了LZ77算法與Huffman編碼的字典型無損數(shù)據(jù)壓縮算法(先用lz77算法進行壓縮,然后對其結(jié)果再使用 Huffman編碼的方法進行壓縮)。DEFLATE最初是作為LZW以及其它受專利保護的數(shù)據(jù)壓縮算法的替代版本而設(shè)計的。當時那些專利限制了壓縮算法的應(yīng)用,而DEFLATE則不受任何專利所制約。(http://zh./wiki/DEFLATE)

LZ77算法通過使用編碼器或者解碼器中已經(jīng)出現(xiàn)過的相應(yīng)匹配數(shù)據(jù)信息替換當前數(shù)據(jù)(字典)從而實現(xiàn)壓縮功能。(http://zh./wiki/LZ77與LZ78)

Huffman編碼是一種用于無損數(shù)據(jù)壓縮的熵編碼(權(quán)編碼)算法。該方法完全依據(jù)字符出現(xiàn)概率來構(gòu)造異字頭的平均長度最短的碼字,有時稱之為最佳編碼。(http://zh./wiki/霍夫曼編碼)

二,J2ME與 gzip

zlib是使用DEFLATE算法,提供壓縮功能的函數(shù)庫。后來普遍為許多軟件所使用,逐漸成為事實上的業(yè)界標準。它是一個自由軟件,使用 zlib授權(quán)。(http://www./)
java4ever提供了一個非常小巧的用于J2ME的gzip解壓縮類庫,但它不支持壓縮。(http://www./index.php?section=j2me&project;=gzip& amp;menu;=main〈=_en)
jzlib是zlib的Java實現(xiàn)版本。幸運的是,它只需要做簡單修改,即可用于J2ME。(http://www. /jzlib/)
J2ME Polish的源碼中也提供了一個不錯的gzip類庫。(http://www.)
三,實踐

1,將jzlib移植到J2ME
移植非常容易,僅需要將ZinputStream類中的FilterInputStream替換成InputStream即可。
代碼可從(http://code.google.com/p/jzlib4me/)獲取。其中有一個簡單的示范,請仔細查看代碼中的 README,跟去其中的描述選擇合適的使用方法。

2,使用J2ME Polish提供的gzip類庫
在J2ME Polish的de.enough.polish.util包中,提供了一個ZipUtil.java類。使用它可以很方便的進行g(shù)zip的壓縮與解壓。

例如:
ZipUtil.compress(byte[] data);
ZipUtil.decompress(byte[] data);
使用這兩個方法即可對data進行壓縮和解壓縮,并返回結(jié)果。
如果操作的數(shù)據(jù)比較大,可以使用de.enough.polish.util.zip包中的GZipInputStream和 GZipOutputStream對數(shù)據(jù)流進行壓縮和解壓

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多