baulk 是一個 Windows 系統上極簡的綠色的包管理器,現在 2.0 已經發布了,新增了兩個實驗性的子命令 ,。
其中:
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 小型文件的解壓縮優化中。
轉載請超鏈接註明:頭條資訊 » 極簡的 Windows 包管理器 baulk 2.0 發佈,新增原生的 tar/zip 提取功能
免責聲明 :非本網註明原創的信息,皆為程序自動獲取互聯網,目的在於傳遞更多信息,並不代表本網贊同其觀點和對其真實性負責;如此頁面有侵犯到您的權益,請給站長發送郵件,並提供相關證明(版權證明、身份證正反面、侵權鏈接),站長將在收到郵件24小時內刪除。