Xceed Real-Time Zip for .NET Documentation
Compress(Byte[],CompressionMethod,CompressionLevel,String) Method


Xceed.Compression.Formats Assembly > Xceed.Compression.Formats Namespace > XceedCompressedStream Class > Compress Method : Compress(Byte[],CompressionMethod,CompressionLevel,String) Method
The array of bytes to compress.
A Xceed.Compression.CompressionMethod value representing the compression method to use.
A string containing the encryption password that will be used to encrypt the files in the stream.
A string containing the encryption password that will be used to encrypt the files in the stream.
Compresses an array of bytes using the Xceed compression format with the specified compression method and level and, encryption password.
Syntax
'Declaration
 
Public Overloads Shared Function Compress( _

   ByVal buffer() As Byte, _

   ByVal method As CompressionMethod, _

   ByVal level As CompressionLevel, _

   ByVal encryptionPassword As String _

) As Byte()
'Usage
 
Dim buffer() As Byte

Dim method As CompressionMethod

Dim level As CompressionLevel

Dim encryptionPassword As String

Dim value() As Byte

 

value = XceedCompressedStream.Compress(buffer, method, level, encryptionPassword)
public static byte[] Compress( 

   byte[] buffer,

   CompressionMethod method,

   CompressionLevel level,

   string encryptionPassword

)

Parameters

buffer
The array of bytes to compress.
method
A Xceed.Compression.CompressionMethod value representing the compression method to use.
level
A string containing the encryption password that will be used to encrypt the files in the stream.
encryptionPassword
A string containing the encryption password that will be used to encrypt the files in the stream.
Remarks

If the data to compress is not a byte array, it will need to be converted into a byte array before it can be compressed. This can be done, in the case of a string, using the System.Text.Encoding.GetBytes(System.Char[]) method of the System.Text.Encoding class.

The Stored compression method is not supported. The compression level only applies to the Deflated and Deflated64 compression methods.  It does not apply to the BZip2, BWT, or PPMd compression methods.

The PPMd algorithm uses a custom memory management system called SubAllocator. In a zip file, the memory size the SubAllocator uses is defined in the WinZip PPMd header for the compressed file and this header's value is used when decompressing the data. In general, WinZip uses 64Mb. Since the algorithm used was not optimized from the original PPMd version I revision 1, the SubAllocator initially requires the total amount of memory specified in the PPMd compressor. This means you must have at least 64 free Mb of RAM when using this compression method.

Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

XceedCompressedStream Class
XceedCompressedStream Members
Overload List