在目前环境下我们需要游玩Galgame必须要掌握的自然是解压,关于解压背后的东东或多或少可以了解一下
压缩参数概念说明
在使用压缩软件进行文件压缩时,有几个关键参数可以显著影响压缩效果和性能。以下是对这些参数的简要说明:
分卷(Volume/Split Size)
-
定义: 分卷是指将一个大的压缩文件拆分为多个小文件,以便于存储或传输。这种方法通常用于将超大文件分割成多个较小的部分,适合存储在不同的介质上,或通过电子邮件、网络共享等方式发送。
-
应用: 分卷压缩特别适合处理大文件,将其分割成多个部分以便在不同介质上存储或传输。例如,你可以将一个大型软件包分割成多个小的分卷,以便刻录到多张光盘上,或者将其上传到支持文件大小限制的在线存储服务。
-
常见分卷类型:
-
7z.001 型分卷:
- 格式: 7z.001, 7z.002, 7z.003, ...
- 描述: 这是 7-Zip 压缩工具使用的分卷格式。分卷后缀按顺序编号,压缩文件的主文件为 .001,后续的分卷依次编号为 .002、.003 等。
- 使用场景: 适用于使用 7-Zip 压缩大文件并希望将其分割成多个部分的情况。
-
part1.rar 型分卷:
- 格式: part1.rar, part2.rar, part3.rar, ...
- 描述: WinRAR 使用的分卷格式。文件名以 part 开头并按顺序编号(part1, part2, part3...),主文件通常以 .rar 结尾,后续分卷为 .r00、.r01 或 .part2.rar 等。
- 使用场景: 常用于 WinRAR 创建的压缩文件分卷,适合将大型文件分割成更小的部分以便存储或传输。
-
.z01 型分卷:
- 格式: .z01, .z02, .z03, ...
- 描述: ZIP 格式的分卷,通常由工具如 WinZip、7-Zip 创建。主文件为 .zip,后续分卷按顺序编号为 .z01、.z02 等。
- 使用场景: 适用于 ZIP 格式的压缩文件,尤其在需要将文件分割成多个部分时使用。
-
zip.001 型分卷:
- 格式: zip.001, zip.002, zip.003, ...
- 描述: 另一种 ZIP 分卷格式,分卷文件以 .zip.001、.zip.002 等为后缀。主要文件为 .zip.001,后续分卷依次编号。
- 使用场景: 常见于一些特定的分卷工具或某些特殊需求场景下的 ZIP 分卷格式。
-
字典大小(Dictionary Size)
- 定义: 压缩算法用来存储已处理数据模式的内存空间大小。字典越大,压缩率越高,但内存消耗也增加。
- 应用: 增大字典大小可以提高压缩率,特别是在处理大文件或高度重复的数据时。
单词大小(Word Size)
- 定义: 压缩算法处理数据的基本数据块大小。较大的单词大小可以提高压缩速度,但可能会降低压缩率。
- 应用: 调整单词大小以平衡压缩速度和压缩率。
固实数据大小(Solid Block Size)
- 定义: 在固实压缩模式下,将多个文件视为一个单一的数据块来压缩,通常能提高压缩率,但可能使解压缩速度变慢。
- 应用: 适用于压缩大量相似文件,如文本或代码文件,优化整体压缩效果。
自解压程序(Self-extracting Archive, SFX)
- 定义: 自解压程序是一种包含在压缩文件中的小型可执行文件,允许用户在没有专用解压工具的情况下直接解压缩内容。自解压程序通常用于分发软件和数据包,因为接收方只需执行文件即可解压缩内容,而不需要额外的解压缩软件。
- 应用: 适用于需要将压缩文件分发给没有解压缩工具的用户,或在环境受限的情况下(如企业网络)确保文件能够顺利解压。
常见文件类型的压缩效果
不同类型的文件在使用压缩算法时会表现出不同的压缩效果。以下是一些常见文件类型的压缩效果分析:
-
视频文件(如 MP4, MKV 等):
- 压缩效果: 较差(压缩比通常在 90% - 100% 左右,几乎无压缩效果)。
-
文本文件(如 TXT, JSON, XML 等):
- 压缩效果: 极佳(压缩比通常在 10% - 20% 左右,压缩效果显著)。
-
游戏文件(如 Unity 打包文件,资源文件):
- 压缩效果: 中等(压缩比通常在 40% - 60% 左右,取决于资源类型)。
压缩算法比较表格
算法 | 压缩效果(视频) | 压缩效果(文本) | 压缩效果(游戏文件) | 压缩速度 (MB/s) | 解压速度 (MB/s) | 资源消耗 | 适用场景 | 推荐使用的 Windows 软件 |
---|---|---|---|---|---|---|---|---|
Zstandard (Zstd) | 差(90% - 100%) | 极佳(10% - 20%) | 中等(40% - 60%) | 400 - 500 | 800 - 1000 | 中等,压缩时 CPU 占用较高 | 通用,高效存储和传输 | Zstandard Command-line Tool, 7z-zstd |
Gzip (DEFLATE) | 差(90% - 100%) | 良好(15% - 25%) | 中等(50% - 70%) | 100 - 150 | 300 - 350 | 适中,CPU 和内存占用适中 | Web 压缩,通用文件压缩 | 7-Zip, WinRAR, gzip (via Cygwin) |
Brotli | 差(90% - 100%) | 极佳(10% - 20%) | 中等(40% - 60%) | 100 - 250 | 400 - 500 | 压缩时高,解压时适中 | Web 内容压缩,文本压缩 | Brotli Command-line Tool |
LZ4 | 差(95% - 100%) | 良好(20% - 30%) | 中等(50% - 70%) | 400 - 600 | 1000 - 1500 | 低,CPU 和内存占用极低 | 实时压缩,高性能应用 | LZ4 Command-line Tool, 7-Zip |
LZMA (7z) | 差(90% - 100%) | 极佳(5% - 15%) | 良好(30% - 50%) | 10 - 50 | 100 - 200 | 高,压缩时 CPU 和内存占用高 | 长期存储,软件分发 | 7-Zip, WinRAR |
Bzip2 | 差(90% - 100%) | 良好(10% - 20%) | 中等(50% - 70%) | 50 - 100 | 100 - 200 | 高,压缩和解压时资源占用较高 | 需要高压缩率但速度要求不高的场景 | bzip2 (via Cygwin), 7-Zip |
Snappy | 差(95% - 100%) | 良好(20% - 30%) | 中等(50% - 70%) | 500 - 800 | 1000 - 1700 | 低,CPU 和内存占用极低 | 实时数据处理,高性能数据库 | Snappy Command-line Tool |
注意:此详细数据仅供娱乐参考,实际用户解压&压缩场景是非常复杂多变,以上数据只是简单说明一下各算法的特点
说明与建议
Zstandard (Zstd) 的特点:
- 高压缩比和速度平衡: Zstandard 是一种无损数据压缩算法,专为在压缩率和压缩速度之间提供良好平衡而设计,适合通用数据存储和传输。
- 中等压缩率: Zstandard 在大多数场景下提供了良好的压缩率,尤其在文本和日志数据压缩方面表现出色。
- 文件校验: 支持。Zstandard 内置了文件校验功能,默认使用 XXH64 校验和,在解压时会自动验证数据的完整性。
应用场景:
- 数据存储和传输: 适用于需要在压缩比和速度之间找到平衡的应用,如文件备份、数据库压缩、网络传输等。
- 数据完整性: 由于内置的校验功能,Zstandard 是那些对数据完整性要求较高的应用的理想选择。
Gzip (DEFLATE) 的特点:
- 广泛使用: Gzip 是基于 DEFLATE 算法的一种经典压缩工具,因其广泛的兼容性和可靠性在许多操作系统和应用程序中被使用。
- 中等压缩率: Gzip 提供中等压缩率,适合大多数通用文件的压缩需求。
- 文件校验: 支持。Gzip 使用 CRC32 校验码,在解压时会自动验证数据的完整性。
应用场景:
- Web 压缩和通用文件压缩: 由于其广泛的兼容性,Gzip 适合压缩 Web 内容、日志文件以及其他需要广泛支持的文件类型。
- 数据完整性: 内置的 CRC32 校验使 Gzip 成为需要保证数据完整性的可靠选择。
Brotli 的特点:
- Web 优化: Brotli 是一种专为 Web 内容压缩而设计的算法,提供了比 Gzip 更好的压缩率,尤其在文本压缩方面表现出色。
- 较高的压缩率: 尤其适合压缩 HTML、CSS 和 JavaScript 等 Web 资源。
- 文件校验: 支持。Brotli 内置了校验和功能,确保解压时的文件完整性。
应用场景:
- Web 内容压缩: Brotli 尤其适合用于减少网页资源的大小,加速网页加载速度。
- 数据完整性: 内置的校验和功能确保了数据在传输过程中的完整性。
LZMA (7z) 的特点:
- 高压缩比: LZMA 提供极高的压缩比,适合用于长期存储和软件分发。
- 低压缩速度: 相较于其他算法,LZMA 的压缩速度较慢,但其高压缩比使其在存储和传输中占有优势。
- 文件校验: 支持。LZMA 支持附带 CRC32 校验和,以确保数据完整性。
应用场景:
- 长期存储和软件分发: LZMA 常用于需要最大限度减少存储空间的场景,如大型软件的发布包。
- 数据完整性: LZMA 的内置校验功能使其适合对数据完整性有严格要求的应用。
Bzip2 的特点:
- 高压缩比: Bzip2 提供了较高的压缩比,适用于需要更高压缩率的场景。
- 低压缩和解压速度: 由于算法的复杂性,Bzip2 的压缩和解压速度较慢,但它能有效减少文件大小。
- 文件校验: 支持。Bzip2 使用 CRC32 校验来确保数据完整性。
应用场景:
- 高压缩率需求: 适用于对压缩率要求高而速度要求不高的场景。
- 数据完整性: 内置的 CRC32 校验功能确保了数据在解压时的完整性。
LZ4 的特点:
- 高速度: LZ4 是一种无损数据压缩算法,专为实现极高的压缩和解压速度而设计,特别适合需要实时数据处理的应用场景。
- 低压缩率: 虽然 LZ4 的压缩速度极快,但它的压缩率通常低于其他更复杂的压缩算法。
- 文件校验: 不支持。LZ4 在其算法设计中未包含内置的 CRC 或其他校验机制。
应用场景:
- 数据完整性: 如果应用场景需要保证数据完整性,通常会在 LZ4 压缩前或后使用其他工具或方法(如 CRC32、MD5 校验)来校验数据的完整性。
- 实时应用: LZ4 非常适合需要快速压缩和解压的大型数据流、日志、缓存等场景,尤其是当数据完整性由其他层级(如传输协议、文件系统)保证时。
文件校验的替代方案:
- 外部校验: 在使用 LZ4 进行数据压缩时,建议结合使用外部工具(如 sha256sum)来生成压缩前后的校验和,以确保数据的完整性。
- 其他压缩算法: 如果需要内置文件校验功能,可以考虑使用 zlib(gzip)或 Zstandard 等支持校验功能的算法。
Snappy 的特点:
- 高速度: Snappy 是由 Google 开发的高效压缩算法,专为提供高速度的压缩和解压缩而设计,适合大规模数据处理和传输。
- 低压缩率: 与 LZ4 类似,Snappy 的压缩率通常低于其他压缩算法,但速度极快。
- 文件校验: 不支持。Snappy 不包含内置的校验机制,意味着压缩和解压过程中不会自动验证数据完整性。
应用场景:
- 高性能数据处理: Snappy 非常适合用于数据库压缩、实时数据流处理和大规模数据传输。
- 数据完整性: 对数据完整性有要求的应用应结合使用外部校验工具。
文件校验的替代方案:
- 外部校验: 使用 Snappy 进行压缩时,建议使用外部工具生成校验和,确保数据在传输和解压过程中的完整性。
- 其他压缩算法: 如果需要内置校验功能,zlib(gzip)或 Zstandard 是更好的选择。
如何改善你的解压&压缩体验
-
使用合适的软件:
- 选择支持多线程的压缩软件,比如
7z
。7z 软件可以充分利用 CPU 的多核性能,在压缩和解压过程中显著提升速度,尤其在处理大型文件或文件夹时,效果更加明显。
- 选择支持多线程的压缩软件,比如
-
使用多核性能高的 CPU:
- 压缩和解压缩是计算密集型任务,拥有更多核心和更高主频的 CPU 可以显著提高这些任务的执行速度。如果你经常处理大量或复杂的压缩任务,升级到多核性能强劲的 CPU 是一个值得考虑的选择。
-
在 NVMe SSD 固态硬盘中进行解压&压缩:
- 解压和压缩涉及大量的磁盘读写操作,使用带宽更高、性能更好的
NVMe 固态硬盘
相较于HDD 机械硬盘
或SATA 固态硬盘
可以大幅提升速度。尤其在7z
进行仅存储无密码压缩时,NVMe SSD 的优势更为明显,能极大地减少操作时间。
- 解压和压缩涉及大量的磁盘读写操作,使用带宽更高、性能更好的
压缩软件介绍及GitHub&官方下载链接
-
7-Zip
-
功能: 7-Zip 是一款开源的文件压缩和解压工具,支持多种格式(如 7z、Gzip、Bzip2、LZMA、LZ4、XZ、ZIP)。它以高压缩率和灵活选项著称,尤其在处理 7z 格式时表现出色。
-
适用场景: 通用文件压缩,特别是需要高压缩率和灵活压缩选项的用户。
-
GitHub 下载链接: 7-Zip 官方下载
-
-
7z-zstd
- 功能: 7z-zstd 是 7-Zip 的增强版,增加了对 Zstd、Brotli、LZ4 和 LZ5 等现代压缩算法的支持,提供了更灵活的压缩选项。
- 适用场景: 需要灵活选择多种现代压缩算法的场景,如需要同时处理多种压缩任务的用户。
- GitHub 下载链接: 7z-zstd GitHub
-
WinRAR
- 功能: WinRAR 是一个广泛使用的压缩工具,支持 RAR 和 ZIP 格式,以及 Gzip、Bzip2、7z 等格式的解压。它提供了用户友好的图形界面,支持分卷压缩、自解压、密码保护等功能。
- 适用场景: 用户需要强大图形界面支持和广泛格式兼容性的场景,特别适合处理大型压缩文件。
- 下载地址: WinRAR 官方下载
-
Brotli Command-line Tool
- 功能: Brotli 工具主要用于网页内容的压缩,特别适合文本、HTML、CSS、JavaScript 文件的压缩。
- 适用场景: Web 开发,优化网页加载时间。
- GitHub 下载链接: Brotli GitHub
-
LZ4 Command-line Tool
- 功能: 专注于速度的压缩工具,支持实时压缩和解压,适合需要快速处理大数据的场景。
- 适用场景: 实时数据压缩,高性能计算,游戏开发。
- GitHub 下载链接: LZ4 GitHub
-
Snappy Command-line Tool
- 功能: Google 开发的专注于速度的压缩工具,主要用于高性能数据处理场景。
- 适用场景: 实时数据处理,数据库系统,高性能数据传输。
- GitHub 下载链接: Snappy GitHub
-
bzip2 (via Cygwin)
- 功能: 一种较老的压缩工具,主要用于高压缩率的需求。通过 Cygwin 可以在 Windows 上使用 bzip2 命令行工具。
- 适用场景: 需要高压缩率且不太在意压缩速度的场景,特别是在兼容旧系统时。
- Cygwin 下载链接: Cygwin 官网
-
Zstandard Command-line Tool
- 功能: 专为处理 Zstd 压缩格式而设计,支持多种压缩级别、流式压缩、字典压缩及多线程操作。
- 适用场景: 高性能数据压缩,如数据库备份、日志压缩。
- GitHub 下载链接: Zstandard GitHub
如果有不正确请评论区指出,随笔闲聊不一定全部正确……