Class LzmaCompressionSettings

Class LzmaCompressionSettings

Namespace: Aspose.Zip.Saving
Assembly: Aspose.Zip.dll (25.12.0)

Settings for LZMA compression within a ZIP archive.

public class LzmaCompressionSettings : CompressionSettings

Inheritance

object CompressionSettings LzmaCompressionSettings

Inherited Members

CompressionSettings.Bzip2 , CompressionSettings.Deflate , CompressionSettings.EnhancedDeflate , CompressionSettings.Store , CompressionSettings.Lzma , CompressionSettings.Xz , CompressionSettings.PPMd , CompressionSettings.Zstd , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Remarks

The Lempel–Ziv–Markov chain algorithm (LZMA) is an algorithm used to perform lossless data compression. This algorithm uses a dictionary compression scheme somewhat similar to the LZ77 algorithm and features a high compression ratio and a variable compression-dictionary size.

See more: Lempel–Ziv–Markov chain algorithm

Constructors

LzmaCompressionSettings()

Initializes a new instance of the Aspose.Zip.Saving.LzmaCompressionSettings class with default parameters.

public LzmaCompressionSettings()

Examples

using (Archive archive = new Archive(new ArchiveEntrySettings(new LzmaCompressionSettings())))
{
    archive.CreateEntry("data.bin", "data.bin");
    archive.Save(zipFile);
}

LzmaCompressionSettings(int, int, int)

Initializes a new instance of the Aspose.Zip.Saving.LzmaCompressionSettings class with specified dictionary size, number of fast bytes and number of literal context bits.

public LzmaCompressionSettings(int dictionarySize, int numberOfFastBytes, int literalContextBits)

Parameters

dictionarySize int

Dictionary (history buffer) size in bytes. Must be between 4096 and 1073741824.

numberOfFastBytes int

The number of bytes used for fast match searching in the LZMA algorithm. Can be in the range from 5 to 273.

literalContextBits int

Sets the number of literal context bits (high bits of previous literal). It can be in range from 0 to 8.

LzmaCompressionSettings(int)

Initializes a new instance of the Aspose.Zip.Saving.LzmaCompressionSettings class with specified dictionary size, default number of fast bytes equal to 32 and number of literal context bits equal to 3.

public LzmaCompressionSettings(int dictionarySize)

Parameters

dictionarySize int

Dictionary (history buffer) size in bytes. Must be between 4096 and 1073741824.

Properties

DictionarySize

Dictionary (history buffer) size indicates how many bytes of the recently processed uncompressed data are kept in memory.

public int DictionarySize { get; }

Property Value

int

Remarks

The bigger the dictionary, usually the better the compression ratio is - but dictionaries larger than the uncompressed data are a waste of RAM.

LiteralContextBits

Gets the number of literal context bits.

public int LiteralContextBits { get; }

Property Value

int

Remarks

Literal Context Bits define how many of the most significant bits of the previous uncompressed byte are used to predict the bits of the next literal byte. Must be from 0 to 8.

NumberOfFastBytes

Gets the number of bytes used for fast match searching in the LZMA algorithm.

public int NumberOfFastBytes { get; }

Property Value

int

Remarks

A higher value allows the compressor to search longer matches, which can improve the compression ratio slightly but slows down compression.

 English