如何把 ZIP 转换为 TAR
- 把
.zip文件拖到拖放区域,或点击选择文件。 - 如果是带密码保护的 ZIP,请在密码(仅当压缩包已加密时填写)中输入密码;普通 ZIP 则保持为空。
- 点击转换为 TAR。每个文件都会从 ZIP 中解压出来,并写入一个未压缩的 tar 包。
- 点击下载。名为
dataset.zip的文件会保存为dataset.tar。
ZIP 由 zip.js 读取,tar 包由 libarchive(WebAssembly)写出,全程都在您的浏览器中完成,不会有任何上传。
什么时候需要纯 TAR
与 TAR.GZ 不同,纯 .tar 文件完全不做压缩,所以它会比您最初的 ZIP 更大,往往和所有文件加起来差不多大。这听起来像是倒退,但想要它也有充分的理由:
- 要求使用 tar 包的工具。一些构建系统、容器工作流(如
docker load和docker import)以及备份脚本会直接读取 TAR。 - 日后按您自己的设置再压缩。您可以自己用 gzip、bzip2、xz 或 zstd 压缩这个 tar 包,也可以交给备份工具处理压缩。
- 快速、可流式读取。TAR 可以不经解压,一次性从头读到尾,适用于磁带机、管道和网络数据流。
- 对于视频或照片这类本来就压不小的内容,没有压缩开销。
在 Linux 或 macOS 上,可以用 tar -xf dataset.tar 解开结果。Windows 10 和 11 的终端中也自带 tar 命令。
文件名、文件夹和日期
tar 包采用 POSIX(pax)格式,对路径长度没有实际限制,并以 UTF-8 存储文件名。层级很深的文件夹以及任何语言的文件名,包括带重音的字母、西里尔文、阿拉伯文、中文或表情符号,都会与 ZIP 中的原样保持一致。每个文件还会保留其原始修改日期。
ZIP 中的空文件夹不会写入 tar 包,macOS 产生的垃圾条目(__MACOSX/ 文件夹和 ._ 文件)会被跳过,输出内容也不含加密,即使源 ZIP 原本受到保护。Unix 权限不会根据 ZIP 来设置,所以如果您需要某个脚本在解压后可执行,请对它运行 chmod +x。
小技巧
- 想一步得到压缩过的 tar 包?ZIP转TAR.GZ还会同时应用 gzip。
- 想直接用您电脑上的文件和文件夹生成 TAR,请使用创建TAR文件。
- 想反过来操作,TAR转ZIP可以把 tar 包转成压缩的 ZIP。
- 要解开任何 tar 包,包括
.tar.bz2和.tar.xz,请使用解压TAR文件。
常见问题
为什么我的 TAR 文件比 ZIP 大?
TAR 不做压缩,它按原样存储文件,而 ZIP 存放的是压缩后的文件。如果想要更小的文件,请选择 TAR.GZ。
文件修改日期会保留吗?
会。tar 包中的每个条目都采用 ZIP 中记录的日期。
可以转换加密的 ZIP 吗?
可以,只要您输入正确的密码。生成的 TAR 没有加密,请把它存放在安全的地方。
ZIP 最大可以多大?
转换期间,文件会存放在浏览器内存中。大小约 700 MB 以内的压缩包没有问题,更大的会变慢,超过 2 GB 的输入会被拒绝。
更新于
评论
登录后即可为此工具评分。
分享技巧、提出问题,或说说这个工具对您是否有用。
还没有评论,来分享您的使用体验吧。