提取 EGG 文件

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

私密和安全

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

极速

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

完全免费

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

什么是EGG格式?

Egg

GNU TAR(磁带存档)格式是一种在类 Unix 操作系统上广泛使用的文件存档和压缩格式。它最初设计用于将文件备份到磁带上,但现在通常用于将许多文件收集到一个压缩存档文件中,以实现高效存储和传输。TAR 格式允许保留文件属性、目录结构,并支持各种压缩算法。

TAR 存档文件由一系列文件头记录和文件数据块组成。存档中的每个文件都由一个头记录表示,其中包含有关文件元数据,后跟文件数据本身。头记录大小为 512 字节,包含文件名称、文件模式(权限)、所有者和组 ID、文件大小、修改时间和校验和等字段。

头记录中的文件名字段最长可达 100 个字符。如果文件名超过 100 个字符,则使用“前缀”字段存储它,该字段是额外的 155 个字节。前缀与文件名连接以创建完整路径。文件模式字段包含 Unix 文件权限和文件类型(常规文件、目录、符号链接等)。

在头记录之后是文件数据,它存储在连续的 512 字节块中。如果文件大小不是 512 字节的倍数,则最后一个块将填充空字节。每个文件的数据块按顺序写入存档中,文件之间没有分隔符或定界符。

除了常规文件和目录外,TAR 存档还支持多种类型的头记录。符号链接和硬链接使用引用目标文件的特殊头记录表示。设备文件、命名管道和其他特殊文件类型也受支持。扩展属性和 ACL 可以使用 pax 交换格式头存储。

TAR 格式的一个关键特性是对长文件名和路径的支持。早期版本的 TAR 仅限于 100 个字符的文件名,但后来的版本(例如广泛使用的 USTAR(Unix 标准 TAR)格式)对此进行了扩展以支持更长的名称。POSIX.1-2001 标准引入了一种新的可扩展格式,允许使用更长的文件名和路径,以及其他元数据字段。

压缩通常与 TAR 存档结合使用以减小文件大小。最流行的压缩方法是 gzip(.tar.gz 或 .tgz)、bzip2(.tar.bz2)和 xz(.tar.xz)。这些压缩的 TAR 存档是通过首先创建一个常规 TAR 存档,然后使用所选压缩算法对其进行压缩来创建的。在解压缩压缩的 TAR 存档时,首先删除压缩,然后应用常规 TAR 解压缩过程。

TAR 格式还包括内置的错误检测和恢复机制。每个头记录都包含一个校验和字段,该字段在创建存档时计算。从 TAR 存档中提取文件时,将验证校验和以确保数据完整性。如果检测到校验和不匹配,则会报告错误,并且提取可以跳过受影响的文件或尝试尽可能多地恢复数据。

除了基本的 TAR 格式外,还有多种变体和扩展正在使用中。GNU 版本的 TAR 在 Linux 发行版中广泛使用,它包括多卷存档、稀疏文件支持和增量备份等附加功能。其他扩展(例如 star 和 pax)提供了改进的性能、与非 Unix 系统的兼容性以及对扩展元数据的支持。

尽管 TAR 格式已经过时且存在局限性,但由于其简单性、可移植性和在不同平台和工具上的广泛支持,它仍然被广泛使用。它作为许多更高级别的备份和存档解决方案的基础,并且经常用作分发软件包和源代码的容器格式。随着新技术和存储介质的出现,TAR 格式已经适应并演变以满足不断变化的需求,确保其在现代计算环境中的持续相关性。

文件压缩通过减少冗余,让相同的信息占用更少的比特。可压缩的上限受信息论约束:对于无损压缩,上界是信源熵(参见香农的信源编码定理及其 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。这些工具可以从压缩格式提取原始文件。