Class PPMdCompressionSettings

Class PPMdCompressionSettings

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

压缩器或解压器工作所需的设置。

public class PPMdCompressionSettings : CompressionSettings

继承

objectCompressionSettingsPPMdCompressionSettings

继承成员

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()

备注

PPMd是一种由Dmitry Shkarin开发的数据压缩算法。 该算法基于多阶上下文的预测短语匹配。

构造函数

PPMdCompressionSettings(int, int)

初始化Aspose.Zip.Saving.PPMdCompressionSettings类的新实例。

public PPMdCompressionSettings(int modelOrder, int suballocatorSize)

参数

modelOrder int

模型的顺序。

suballocatorSize int

子分配器可能消耗的内存大小(以MB为单位)。

示例

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

备注

更大的模型顺序几乎肯定会导致更好的压缩,但肯定会消耗更多的内存和CPU。

PPMd算法可能需要大量内存,特别是在处理大文件和/或使用大模型顺序时。 如果PPMd所需的内存超过您提供的内存,则压缩效果会更差。

异常

ArgumentOutOfRangeException

modelOrder不在2到16之间。 - 或 - suballocatorSize不在1到256之间。

PPMdCompressionSettings()

使用默认模型顺序和子分配器大小初始化Aspose.Zip.Saving.PPMdCompressionSettings类的新实例。

public PPMdCompressionSettings()

示例

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

备注

默认模型顺序为8,子分配器大小为50MB。

属性

ModelOrder

获取模型的顺序。

public int ModelOrder { get; }

属性值

int

SuballocatorSize

获取子分配器大小(以MB为单位)。

public int SuballocatorSize { get; }

属性值

int

 中文