ZLib .NET Wrapper
文档: http://zlibnetwrapper.sourceforge.net/
这里给大家一些参考代码: (文档翻译)
CompressionStream - 流封装,可以用来压缩或解压缩数据的使用ZLib的压缩和解压缩的职能。
ZLibException - ZLib 产生异常封装类.
Compress - BinaryWriter-封装类 CompressionStream 对象的装箱
Decompress a BinaryReader-封装类 CompressionStream 对象的装箱
Base64Stream - Stream-derived class 用来 编码或者译码Base-64 文字数据
ManagedZLib.CompressionStream : System.IO.Stream
CompressionStream( Stream stream, CompressionOptions option )
其中CompressionOptions option
CompressionOptions.Decompress - 解压缩数据。
CompressionOptions.Compress - 压缩数据,使用默认的压缩级别。
CompressionOptions.CompressNone - 不压缩数据(添加头信息将)
CompressionOptions.CompressFast-用最快压缩方法。
CompressionOptions.CompressLevelZero - 同CompressionOptions.CompressNone.
CompressionOptions.CompressLevelOne - 同CompressionOptions.CompressFast.
CompressionOptions.CompressLevelTwo - 压缩使用较好的压缩,但是较慢的速度。
CompressionOptions.CompressLevelThree
CompressionOptions.CompressLevelFour
static string ZLibVersion
返回版本
static CompressionOptions GetLevel( int level
转换数字( 0-9 )成一个CompressionOptions枚举。无效的数字转换为默认压缩级别。 下列属性是用来获取信息的压缩或减压。所有这些特性可流后已经关闭。
unsigned int CRC 返回未压缩数据的CRC信息
unsigned long BytesIn 写入流/读取源的数值
unsigned long BytesOut 写入目标流/读取流的数值
double CompressionRatio 压缩率
ManagedZLib.Base64Stream : System.IO.Stream
Base64Stream( Stream stream, Base64Options option )
Base64Options.Encode - Encode into Base-64 data stream. 编码
Base64Options.Decode - Decode Base-64 data stream. 译码
ManagedZLib.ManagedZLib.Initialize();
//初始化,很重要你忘记我就没法了
ManagedZLib.CompressionStream zlibStream = new ManagedZLib.CompressionStream(dataStream, ManagedZLib.CompressionOptions.Decompress);
// dataStream是来源,比如使用MemoryStream类,基本的流将被用来读取或者压缩数据或写数据的压缩。
BinaryReader zlibReader = new BinaryReader(zlibStream);
MemoryStream memoryStreamDecompressed = null;
try {
byte[] decompressedPart = new byte[fileLength];
//fileLength文件长度
zlibReader.Read(decompressedPart, 0, decompressedPart.Length);//解压缩,压缩同理使用
memoryStreamDecompressed = new MemoryStream(decompressedPart);
} finally {
if(memoryStreamDecompressed != null)
memoryStreamDecompressed.Close();
zlibReader.Close();
zlibStream.Close();
ManagedZLib.ManagedZLib.Terminate();//释放资源,不要忘记哦
}