极简的 Windows 包管理器 baulk 2.0 发布,新增原生的 tar/zip 提取功能

栏目: 软件资讯 · 发布时间: 3年前

内容简介:baulk 是一个 Windows 系统上极简的绿色的包管理器,现在 2.0 已经发布了,新增了两个实验性的子命令 untar,unzip。 其中: untar 用于提取 tar 及 tar.xz/tar.gz/tar.bz2/tar.zst/tar.br 等格式文件。 unzip 用...

baulk 是一个 Windows 系统上极简的绿色的包管理器,现在 2.0 已经发布了,新增了两个实验性的子命令 untarunzip

其中:

untar 用于提取 tar 及 tar.xz/tar.gz/tar.bz2/tar.zst/tar.br 等格式文件。

unzip 用于解压 zip 文件,使用了 baulk::archive::zip 。

  • baulk::archive::zip 支持解压的压缩方法较为全面,支持有 deflate/deflate64/zstd/bzip2/lzma/ppmd,比如官方的 7z 不支持 zstd,minizip/libzip 不支持 deflate64/ppmd 。libarchive 不支持 deflate64/zstd 。
  • 另外,baulk::archive::zip 还利用 Google 的开源项目 Compact Encoding Detection 在 zip 中实现了文件名编码检测,也就是说,一些传统的压缩软件在压缩 zip 时没有显示使用 UTF-8 而是用 ASCII/GBK 这样的编码,在代码页不同的时候就会出现文件名乱码,而在 baulk::archive::zip 中,我们会检测编码然后正确转换编码,就能减少这一问题的发生。
  • baulk::archive::zip 使用了 chromium 的 zlib 优化版本,充分利用 SIMD 优势,解压缩速度很快。
  • baulk::archive::zip 使用了严格的路径检查,避免路径逃逸。

在实现 baulk::archive::zip 的过程中,我发现 libdeflate 要比大多数 zlib 的优化版本还快,但是目前并没有移植支持 Windows ARM64,我也就没有将其整合到 zip 小型文件的解压缩优化中。

 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C语言程序设计

C语言程序设计

K. N. King / 吕秀锋、黄倩 / 人民邮电出版社 / 2010-4 / 79.00元

时至今日, C语言仍然是计算机领域的通用语言之一,但今天的 C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了 C99标准,并与 C89标准进行对照,补充了 C99中的最新特性。本书分为 C语言的基础特性、 C语言的高级特性、 C语言标准库和参考资料 4个部分。每章末尾都有一个“问与......一起来看看 《C语言程序设计》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具