nodejs zlib
Constants(常量)
Options
zlib.constants
zlib.createDeflate(options)
zlib.createInflate(options)
zlib.createDeflateRaw(options)
zlib.createInflateRaw(options)
zlib.createGzip(options)
zlib.createGunzip(options)
zlib.createUnzip(options)
Convenience Methods(簡便用法)
本文實例講述了Node.js API詳解之 zlib模塊用法。分享給大家供大家參考,具體如下:
Node.js API詳解之 zlib
zlib模塊提供通過 Gzip 和 Deflate/Inflate 實現(xiàn)的壓縮功能,可以通過這樣使用它:
壓縮或者解壓數(shù)據(jù)流(例如一個文件)通過zlib流將源數(shù)據(jù)流傳輸?shù)侥繕?biāo)流中來完成:
zlib 可以用來實現(xiàn)對 HTTP 中定義的 gzip 和 deflate 內(nèi)容編碼機(jī)制的支持。
HTTP 的 Accept-Encoding 頭字段用來標(biāo)記客戶端接受的壓縮編碼。
注意: 下面給出的示例大幅簡化,用以展示了基本的概念。使用 zlib 編碼成本會很高, 結(jié)果應(yīng)該被緩存。
Options
說明:
每一個類都有一個 options 對象. 所有的選項都是可選的.
注意:一些選項只與壓縮相關(guān), 會被解壓類忽視.
zlib.createDeflate(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 Deflate 對象。
可以使用 deflate 壓縮數(shù)據(jù)。
zlib.createInflate(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 Inflate 對象。
Inflate 用于解壓一個 deflate 流。
zlib.createDeflateRaw(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 DeflateRaw 對象.
使用 deflate 壓縮數(shù)據(jù),并且不附加一個 zlib 頭。
zlib.createInflateRaw(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 InflateRaw 對象。
InflateRaw 用于解壓一個 raw deflate 流。
zlib.createGzip(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 Gunzip 對象。
使用 gzip 壓縮數(shù)據(jù)。
zlib.createGunzip(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 Gunzip 對象
使用Gunzip解壓縮 gzip 流。
zlib.createUnzip(options)
說明:
創(chuàng)建并返回一個帶有給定 options 的新的 Unzip 對象。
Unzip 對象通過自動檢測頭信息解壓 Gzip 或者 Deflate 壓縮的流.
Convenience Methods(簡便用法)
說明:
上面我們介紹了各個壓縮類的使用。下面介紹一些對應(yīng)的簡便用法。
所有這些方法都將 Buffer, [TypeArray], DataView, 或者字符串作為第一個 參數(shù),
一個回調(diào)函數(shù)作為可選的第二個參數(shù)提供給 zlib 類, 會在 callback(error, result) 中調(diào)用.
每一個方法相對應(yīng)的都有一個接受相同參數(shù), 但是沒有回調(diào)的 *Sync 版本.
zlib.deflate(buffer [,options],callback)
zlib.deflateSync(buffer [,options])
zlib.inflate(buffer [,options],callback)
zlib.inflateSync(buffer [,options])
zlib.deflateRaw(buffer [,options],callback)
zlib.deflateRawSync(buffer [,options])
zlib.inflateRaw(buffer [,options],callback)
zlib.inflateRawSync(buffer [,options])
zlib.gzip(buffer [,options],callback)
zlib.gzipSync(buffer [,options])
zlib.gunzip(buffer [,options],callback)
zlib.gunzipSync(buffer [,options])
zlib.unzip(buffer [,options],callback)
zlib.unzipSync(buffer [,options])
使用方式如下:
demo: