跳转至

压缩包

压缩包是一种特殊的文件格式,其主要作用是将一个或多个文件/文件夹进行打包(归档)并应用压缩算法处理,目的是减少其总体占用的存储空间。常见的压缩包格式包括 ZIP、RAR、7z 等。

为什么要将文件进行压缩
  • 节省存储空间: 通过识别并消除文件中的冗余信息(如重复的字符串、模式),显著减小文件体积,便于存储和备份。
  • 文件归档: 将众多零散的文件或整个目录结构打包成一个单一文件,方便管理、传输和共享。用户无需逐个处理大量小文件。
  • 文件加密与保护: 大多数压缩软件支持使用密码对压缩包进行加密(如 AES 加密),保护文件内容不被未授权访问。
  • 分卷压缩: 将大型压缩包分割成多个指定大小的较小文件(分卷),便于通过容量受限的媒介(如早期软盘、邮件附件限制)传输。
  • 文件完整性校验: 部分压缩格式(如 RAR, 7z)支持添加恢复记录或使用更健壮的校验和,有助于在数据损坏时尝试修复或检测传输错误。

常见的解压缩软件

软件名称 特点 支持的主要格式 (创建/解压) 链接/备注
Bandizip 界面现代,功能强大且免费(标准版有广告,付费专业版无广告),支持超快解压、密码管理、修复损坏压缩包。 极广: Zip, 7z, RAR, ALZ, EGG, TAR, ISO, GZ, XZ, LZH, ARJ, CAB, VHD... https://www.bandisoft.com/bandizip/
7-Zip 开源免费,无广告,压缩率高(尤其 7z 格式),集成到右键菜单方便。 创建: 7z, XZ, BZIP2, GZIP, TAR, ZIP, WIM
解压: RAR, ARJ, CAB, CHM, ISO, LZH...
https://www.7-zip.org/
WinRAR 商业软件(有免费试用版,过期后仍可免费使用解压功能),RAR 格式的官方支持者,功能全面稳定。 创建: RAR, RAR5, ZIP
解压: 几乎所有常见格式
https://www.win-rar.com/
Windows 内置支持 Win10/11 原生支持打开 .zip 文件(如同文件夹),也可通过“发送到 > 压缩文件夹”创建 .zip 仅支持 ZIP 格式 (创建和解压) 无需额外安装,但功能非常基础
PeaZip 开源免费,跨平台(Windows, Linux),支持众多格式,界面可配置性强。 极广: 7z, ZIP, TAR, GZ, BZ2, XZ, RAR, ISO, DEB, RPM... https://peazip.github.io/
NanaZip 基于 7-Zip 的现代开源分支,适配 Windows 11 风格,支持上下文菜单预览等新特性。 同 7-Zip https://github.com/M2Team/NanaZip

重要说明:

  1. .rar 格式专利: RAR 压缩算法和格式由 Alexander Roshal 开发,其所有权和专利属于 RARLAB(WinRAR 的开发商)。因此:
    • WinRAR 是唯一可以官方合法创建 .rar 文件的软件(需购买或遵守其试用条款)。
    • 其他软件(如 7-Zip, Bandizip, PeaZip)可以解压 .rar 文件,这通常被认为是合法的,因为它们使用了开源的 UnRAR 库(由 RARLAB 授权允许用于解压)。
    • 没有 RARLAB 的授权,其他软件不能合法地创建 .rar 文件
  2. 选择建议:
    • 追求免费开源高压缩率: 7-Zip 或 PeaZip。
    • 追求易用性和功能全面(含 RAR 创建): WinRAR (需接受其商业模式)。
    • 追求现代界面和速度(免费版含广告): Bandizip。
    • 仅需处理 ZIP: Windows 自带功能足够。
  3. 安全警告:
    • 警惕来源不明的压缩包: 压缩包是恶意软件(病毒、勒索软件)传播的常见载体。务必使用安全软件扫描,并从可信来源获取文件。
    • “压缩包炸弹”: 指故意构造的、解压后体积极其巨大(如 TB 级)的小压缩包(几 KB),旨在耗尽系统资源或瘫痪扫描软件。解压前注意文件大小是否合理。
    • 加密压缩包的安全性: 使用强密码(长、复杂、唯一)。弱密码容易被暴力破解。注意,文件名在部分格式下即使加密也可能可见。

常见的压缩包格式

压缩包格式主要分为两大类:

类型 特点 常见格式举例 典型用途
无损压缩 压缩和解压过程不丢失任何原始数据,信息可完美还原。 .zip, .rar, .7z, .tar, .gz, .bz2, .jar, .iso (通常) 文档、程序、源代码、重要数据备份、软件分发
有损压缩 通过舍弃人眼/人耳不敏感的信息来获得更高的压缩率,还原后与原始数据有差异。 .jpg/.jpeg, .mp3, .mp4, .avi, .rmvb 图片、音乐、视频等多媒体文件(牺牲部分质量换取空间)

说明:

  • .tar (Tape Archive): 本身仅打包不压缩,通常与压缩程序结合使用(如 .tar.gz, .tar.bz2, .tar.xz)形成压缩包。在 Unix/Linux 系统中非常常见。
  • .jar (Java Archive): 基于 ZIP 格式,用于打包 Java 类文件、资源文件和元数据,是 Java 应用程序和库的标准分发格式。
  • .iso: 通常指光盘镜像文件。虽然它打包了光盘的所有内容(包括文件系统),并且常被压缩软件支持(可视为一种特殊的归档格式),但光盘镜像本身可能包含有损压缩的多媒体文件。标准的 .iso 是未压缩的完整扇区拷贝。
  • 有损压缩格式: 严格来说,.jpg, .mp3 等是单一多媒体文件的压缩格式,而不是像 ZIP/RAR 那样用于打包和压缩多个任意类型文件的通用“压缩包”格式。但它们确实运用了有损压缩技术。

有损压缩与无损压缩原理简述

  • 无损压缩:
  • 原理: 利用数据的统计冗余进行压缩。常见算法如 LZ77/LZ78 (及其变种 DEFLATE - ZIP 常用)、LZMA (7z 常用)、BZIP2 等。它们通过查找并编码重复出现的字符串或序列来实现压缩。
  • 结果: 解压后的数据与原始数据完全相同,比特级一致。
  • 适用: 任何需要精确还原原始数据的场景,如文本、程序、数据库、配置文件、某些图像格式(PNG - 无损)等。
  • 有损压缩:
  • 原理: 利用人类感知(视觉、听觉)的局限性,去除信号中冗余的、不敏感或不太重要的信息。例如:
    • 图像 (JPEG): 转换色彩空间(如 RGB->YCbCr),对色度信息进行下采样(人眼对亮度更敏感),应用离散余弦变换(DCT)并量化高频系数(丢弃细节)。
    • 音频 (MP3): 应用心理声学模型,掩蔽掉人耳难以察觉的频段声音,并对剩余信号进行压缩。
    • 视频 (MP4/H.264/H.265): 结合帧内压缩(类似 JPEG)和帧间压缩(利用连续帧之间的相似性,只存储差异信息)。
  • 结果: 解压后的数据是原始数据的近似值,存在信息丢失,质量通常低于原始数据。压缩率通常远高于无损压缩。
  • 适用: 对绝对精度要求不高,但对文件大小敏感的多媒体数据(照片、音乐、电影)。多次重复压缩解压会导致质量进一步下降(“代损”)。

参考

压缩包 : https://baike.baidu.com/item/%E5%8E%8B%E7%BC%A9%E5%8C%85/5373066 无损压缩和有损压缩的区别? : https://www.zhihu.com/question/267956200 RARLAB - WinRAR and RAR archiver : https://www.rarlab.com/ UnRAR license : https://www.rarlab.com/license.htm (关于解压 RAR 的许可)