PKZ 存档格式是一种专有的压缩存档格式,由 PKWARE, Inc. 开发,用于打包和压缩文件和目录。它通常在 Microsoft Windows 系统上使用,但也可以在其他平台上使用。该格式结合了 DEFLATE 压缩和各种预处理过滤器,以在平衡速度和内存使用的情况下实现高压缩比。
PKZ 存档由每个文件的系列“本地文件头”、可选的存档解密/加密头、压缩文件数据块、中央目录结构和中央目录记录结尾组成。这允许快速访问各个压缩文件、可选加密、数据完整性检查以及存储有关存档文件元数据的能力。
每个本地文件头都包含有关文件的信息,例如其名称、大小、时间戳、CRC-32 校验和和使用的压缩方法。该头还指定应用于文件的任何可选功能,例如加密、预处理过滤器、修补或跨多个存档跨越数据。本地头后跟压缩或存储的文件数据。
PKZ 支持多种压缩方法,其中 DEFLATE 最为常见。DEFLATE 是一种无损数据压缩算法,它结合了 LZ77 压缩和霍夫曼编码。如果需要,PKZIP 还可以存储不带压缩的文件。在极少数情况下,可以使用其他旧版压缩方法,例如 LZMA 或 Bzip2。
在使用 DEFLATE 压缩文件之前,可以应用各种预处理过滤器来提高压缩率。这些方法包括减小符号大小、交换字节以增加冗余、可执行文件的 BCJ 过滤器以及增量更新或修补的 delta 过滤器。在将数据传递给 DEFLATE 压缩器之前,这些过滤器将作为压缩过程的一部分应用。
为了进行数据完整性验证,每个文件在其本地头中记录未压缩数据的 CRC-32 校验和。相同的校验和记录在文件的中央目录条目中。这允许验证文件是否已正确压缩和解压缩,并且没有数据损坏。
PKZ 存档可以选择使用对称加密对文件数据和头进行加密。较旧版本使用 ZipCrypto,而较新版本使用 AES 加密。在加密时,所选的加密方法将记录在存档中,并且每个文件都可以指定自己的密码。经过身份验证的加密用于检测加密数据的任何篡改或损坏。
中央目录紧随压缩文件数据之后,充当存档的目录。它包含每个文件的带有其元数据的文件头条目、指向本地头的偏移量以及解压缩文件所需的其他信息。这些条目按文件名排序。可以将可选的数字签名应用于中央目录,以进一步防止篡改。
最后,中央目录记录结尾标记存档文件的结尾。它存储中央目录中的条目数、其大小和偏移量以及注释字段。对于拆分为多个文件的存档,它还包含有关如何查找其他存档文件的信息。
PKZ 格式允许在无需解压缩整个存档的情况下,高效地随机访问存档中的各个文件。这是通过读取中央目录、找到所需的文件条目,然后从其偏移量读取和解压缩特定的本地文件块来完成的。还可以同时打开和解压缩多个文件。
要创建 PKZ 存档,首先将文件单独过滤并压缩到本地文件块中。中央目录条目是从本地头和文件元数据生成的。然后,根据需要对中央目录进行数字签名。最后,写入指向中央目录的中央目录记录结尾。
提取 PKZ 存档从读取中央目录结尾开始,以找到中央目录条目。找到所需文件的条目,并通过从指定偏移量读取其本地头和压缩数据来解压缩每个条目。删除任何加密,并反转预处理过滤器以获取原始文件内容。
PKZ 格式的其他一些功能包括:将存档拆分为多个文件、卷或段;支持 Unicode 文件名;NTFS 文件系统权限和属性;集成的更新/修补功能;以及可扩展的元数据,例如数字签名、哈希摘要和特定于应用程序的数据。
总体而言,PKZ 格式是一种高效且灵活的存档格式,用于压缩和打包文件。它能够单独压缩文件、应用预处理过滤器以及在不处理整个存档的情况下快速提取特定文件,使其非常适合打包软件安装程序、固件更新、文档等。对加密、数据完整性检查和数字签名的支持还允许它在需要时提供高水平的安全性。
文件压缩是一种减少数据文件大小,以便有效存储或传输的过程。它通过识别并消除冗余数据使用各种算法来压缩数据,这通常能大幅减少数据的大小,同时又不会失去原始信息。
文件压缩主要分为两种类型:无损和有损。无损压缩允许从压缩数据完美地重构原始数据,这对于每一位数据都很重要的文件(如文本或数据库文件)非常理想。常见的例子包括 ZIP 和 RAR 文件格式。另一方面,有损压缩通过消除不太重要的数据来更大幅度地减少文件大小,经常用于音频、视频和图像文件。JPEG 和 MP3 是某些数据损失不会大幅降低内容感知质量的例子。
文件压缩的好处多种多样。它节省设备和服务器的存储空间,降低成本并提高效率。它还加速了在网络上(包括互联网)的文件传输时间,对大文件尤其有价值。此外,压缩文件可以被组织在一个归档文件中,有助于组织和轻松传输多个文件。
然而,文件压缩确实有一些缺点。压缩和解压过程需要计算资源,可能会拖慢系统性能,尤其是对于大文件。此外,在有损压缩的情况下,一些原始数据在压缩过程中会丢失,结果的质量可能不适合所有的应用,特别是对高质量有要求的专业应用。
文件压缩是当今数字世界中的关键工具。它提高了效率,节省了存储空间,并减少了下载和上传时间。尽管如此,它在系统性能和质量降低的风险方面确实存在一些缺点。因此,明智的对待这些因素来选择特定数据需求的正确压缩技术是至关重要的。
文件压缩是一种减小文件或文件集大小的过程,通常用于节省存储空间或加速网络传输。
文件压缩通过识别和删除数据中的冗余来工作。它使用算法在更小的空间中编码原始数据。
文件压缩的两种主要类型是无损压缩和有损压缩。无损压缩允许完美恢复原始文件,而有损压缩则以损失部分数据质量为代价,实现更大的大小减小。
文件压缩工具的一个流行例子是WinZip,它支持包括ZIP和RAR在内的多种压缩格式。
对于无损压缩,质量保持不变。然而,对于有损压缩,由于它消除了较不重要的数据以更大程度地减小文件大小,因此可能会有明显的质量下降。
是的,就数据完整性而言,文件压缩是安全的,尤其是无损压缩。然而,像任何文件一样,压缩的文件可能会被恶意软件或病毒攻击,因此总是必要的有安装可靠的安全软件。
几乎所有类型的文件都可以被压缩,包括文本文件、图像、音频、视频和软件文件。然而,可达到的压缩水平可以在文件类型之间大大变化。
ZIP文件是一种使用无损压缩来减小一个或多个文件大小的文件格式。ZIP文件中的多个文件有效地被捆绑在一起成为一个单一的文件,这也使得分享变得更容易。
技术上,是的,尽管额外的减小大小可能是微不足道的甚至适得其反。压缩一个已经压缩的文件有时可能会增加它的大小,由于压缩算法添加的元数据。
要解压文件,你通常需要一个解压或解压缩工具,如WinZip或7-Zip。这些工具可以从压缩格式提取原始文件。