提取 AR 文件

无限制 作业。文件大小达到 2.5GB。永久免费。

私密和安全

一切都在您的浏览器中进行。您的文件绝不接触我们的服务器。

极速

无需上传,无需等待。在您拖放文件的瞬间即可转换。

完全免费

无需帐户。无隐藏费用。无文件大小限制花招。

什么是AR格式?

ar(Unix 归档)

ar 归档格式,Unix 归档格式的简称,是一种文件格式,用于将多个文件收集到一个文件中,以便于存储和传输。它最初是为 Unix 系统开发的,但现在在不同平台上得到广泛支持。与较新的归档和压缩格式相比,ar 格式更简单、更受限制,但它仍用于某些应用程序。

ar 归档文件由一个全局头组成,后面跟着一系列文件头和文件数据。全局头是一个简单的 ASCII 字符串,它将文件标识为 ar 归档。它由字符“!<arch>\n”组成,其中“\n”表示换行符。此魔术字符串允许实用程序轻松识别 ar 归档文件。

在全局头之后是各个文件条目。每个文件条目都以一个文件头开头,其中包含有关该文件元数据。文件头的大小固定为 60 字节,包括以下字段: - 文件名(16 字节):文件的名称,如果短于 16 个字符,则用空格填充。如果名称较长,则将其截断,并且尾随的“/”字符表示名称继续在文件数据部分中。 - 修改时间戳(12 字节):文件最后修改时间戳,采用十进制 Unix 时间格式,用空格填充。 - 所有者 ID(6 字节):文件所有者的数字用户 ID,采用十进制表示,用空格填充。 - 组 ID(6 字节):文件所属组的数字组 ID,采用十进制表示,用空格填充。 - 文件模式(8 字节):文件的权限和模式位,采用八进制表示,用空格填充。 - 文件大小(10 字节):文件数据的大小(以字节为单位),采用十进制表示,用空格填充。 - 头结束(2 字节):字符“\n”,表示头的结束。

在每个文件头之后,文件的 data 存储在归档中。data 的大小对应于头中指定的文件大小。如果文件大小为奇数,则添加一个额外的填充字节,以确保下一个文件头从偶数字节边界开始。此填充字节不计入头中的文件大小字段。

称为符号表的特殊文件条目也可以包含在 ar 归档中。符号表条目的文件名以“/”或“\”开头,后跟一串数字。这些条目包含用于将对象文件链接在一起的元数据。符号表数据的格式因不同的系统和编译器而异。

ar 归档不包含任何内置压缩。文件只是以其原始形式连接在一起。但是,ar 归档中的各个文件在添加到归档之前可以使用 gzip 等其他算法进行压缩。

与更现代的归档格式相比,ar 格式有一些限制: - 文件名限制为 16 个字符,这可能会受到限制。 - 用户 ID、组 ID 和文件大小等数字元数据字段具有固定大小,限制了它们的最大值。 - 该格式中没有内置校验和或完整性验证。 - 不提供压缩,与使用 gzip 的 tar 等格式相比,会导致更大的归档大小。

尽管存在这些限制,ar 格式仍用于一些特定应用程序。一种常见的用法是类 Unix 系统上的静态库文件。这些带有“.a”扩展名的库文件是 ar 归档,其中包含已编译的对象文件,这些文件可以链接到可执行文件中。ar 格式的简单性和广泛支持使其适用于此目的。

总之,ar 归档格式是一种将多个文件捆绑到一个文件中的简单方法。它由一个全局头组成,后面跟着一系列文件头和文件数据。虽然它缺乏压缩和长文件名支持等高级功能,但由于其简单性和兼容性,它仍然在特定领域(例如 Unix 系统上的静态库文件)中使用。

文件压缩通过减少冗余,让相同的信息占用更少的比特。可压缩的上限受信息论约束:对于无损压缩,上界是信源熵(参见香农的信源编码定理及其 1948 年的原始论文《通信的数学理论》)。对于有损压缩,码率与感知质量之间的权衡由率失真理论描述。

两大支柱:建模与编码

大多数压缩器分两步。首先,模型预测或揭示数据中的结构。然后,编码器把这些预测变成近乎最优的比特模式。一个经典的建模家族是 Lempel–Ziv:LZ77 (1977)和 LZ78 (1978) 会检测重复子串并输出引用而不是原始字节。在编码端,霍夫曼编码(见原始论文1952)会为更常见的符号分配更短的代码。算术编码范围编码能更贴近熵极限,而现代的非对称数值系统(ANS)用查表实现获得相似的压缩率。

常见格式的实际做法

DEFLATE(被 gzipzlibZIP 采用)结合了 LZ77 和霍夫曼编码。其规范完全公开:DEFLATERFC 1951、zlib 封装RFC 1950以及 gzip 文件格式RFC 1952。Gzip 面向流式传输并明确不提供随机访问。PNG 图像标准化将 DEFLATE 作为唯一的压缩方法(窗口最多 32 KiB),可见 PNG 规范“Compression method 0… deflate/inflate… at most 32768 bytes”W3C/ISO PNG 第二版

Zstandard (zstd): 面向高压缩率与快速解压的通用压缩器。格式记录在RFC 8878(还有HTML 镜像)以及 GitHub 上的参考规范文档。与 gzip 类似,基本帧不追求随机访问。zstd 的拿手好戏是字典:从语料中抽取的小样本能显著改善大量小文件或相似文件的压缩(参见python-zstandard 字典文档Nigel Tao 的示例)。各实现同时支持“无结构”和“有结构”字典(讨论)

Brotli: 为网页内容(例如 WOFF2 字体、HTTP)优化,混合静态字典与类似 DEFLATE 的 LZ+熵编码核心。规范见RFC 7932,其中也指出滑动窗口大小为 2WBITS-16,WBITS 取值 [10, 24](1 KiB-16 B 到 16 MiB-16 B),并且不尝试随机访问。Brotli 常在网页文本上优于 gzip,同时保持快速解码。

ZIP 容器: ZIP 是一种文件归档格式,可存储使用多种压缩算法(deflate、store、zstd 等)的条目。事实标准是 PKWARE 的 APPNOTE(参见APPNOTE 门户托管副本以及美国国会图书馆的概览ZIP File Format (PKWARE)/ZIP 6.3.3)。

常见问题解答

什么是文件压缩?

文件压缩是一种减小文件或文件集大小的过程,通常用于节省存储空间或加速网络传输。

文件压缩是如何工作的?

文件压缩通过识别和删除数据中的冗余来工作。它使用算法在更小的空间中编码原始数据。

文件压缩有哪些类型?

文件压缩的两种主要类型是无损压缩和有损压缩。无损压缩允许完美恢复原始文件,而有损压缩则以损失部分数据质量为代价,实现更大的大小减小。

文件压缩工具的例子是什么?

文件压缩工具的一个流行例子是WinZip,它支持包括ZIP和RAR在内的多种压缩格式。

文件压缩会影响文件的质量吗?

对于无损压缩,质量保持不变。然而,对于有损压缩,由于它消除了较不重要的数据以更大程度地减小文件大小,因此可能会有明显的质量下降。

文件压缩安全吗?

是的,就数据完整性而言,文件压缩是安全的,尤其是无损压缩。然而,像任何文件一样,压缩的文件可能会被恶意软件或病毒攻击,因此总是必要的有安装可靠的安全软件。

哪些类型的文件可以被压缩?

几乎所有类型的文件都可以被压缩,包括文本文件、图像、音频、视频和软件文件。然而,可达到的压缩水平可以在文件类型之间大大变化。

ZIP文件是什么意思?

ZIP文件是一种使用无损压缩来减小一个或多个文件大小的文件格式。ZIP文件中的多个文件有效地被捆绑在一起成为一个单一的文件,这也使得分享变得更容易。

我可以压缩一个已经压缩的文件吗?

技术上,是的,尽管额外的减小大小可能是微不足道的甚至适得其反。压缩一个已经压缩的文件有时可能会增加它的大小,由于压缩算法添加的元数据。

我如何解压文件?

要解压文件,你通常需要一个解压或解压缩工具,如WinZip或7-Zip。这些工具可以从压缩格式提取原始文件。