Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Riccardo edited this pageOct 8, 2023 ·20 revisions

bit7z

A C++ static library offering a clean and simple interface to the 7-zip shared libraries

GitHub releaseC++14WindowsLinuxmacOSx86, x64, arm, arm64donatedocsBuild status
MSVC 2015+GCC 4.9+Clang 3.6+CodeFactor GradeLicense

⚡️ Introduction

bit7z is across-platform C++ static library that allows thecompression/extraction of archive files through aclean andsimple wrapper interface to the dynamic libraries from the7-zip project.
It supports compression and extraction to and from the filesystem or the memory, reading archives metadata, updating existing ones, creating multi-volume archives, operation progress callbacks, and many other functionalities.

🎯 Supported Features

  • Compression using the following archive formats:7z, XZ,BZIP2,GZIP, TAR,ZIP, and WIM.
  • Extraction of many archive formats:7z, AR, ARJ,BZIP2, CAB, CHM, CPIO, CramFS, DEB, DMG, EXT, FAT, GPT,GZIP, HFS, HXS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2,RAR,RAR5, RPM, SquashFS, TAR, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR, XZ, Z, andZIP.
  • Reading metadata of archives and their content.
  • Testing archives for errors.
  • Updating existing file archives with new files.
  • Renaming,updating, ordeleting old items in existing file archives.
  • Compression and extractionto and from memory andC++ standard streams.
  • Compression usingcustom path aliases for the items in the output archives.
  • Selective extraction of only specified files/foldersusing wildcards andregexes.
  • Creation ofencrypted archives (strong AES-256 encryption — only for 7z and ZIP formats).
  • Archive header encryption (only for 7z format).
  • Possibility to choose thecompression level (if supported by the archive format), thecompression method (supported methods), thedictionary size, and theword size.
  • Automatic input archive format detection.
  • Solid archives (only for 7z).
  • Multi-volume archives.
  • Operation callbacks for obtaining real-time information about ongoing operations.
  • Canceling orpausing the current operation.

Notes

The presence or not of some of the above features depends on the particular shared library used along with bit7z.
For example, 7z.dll should support all these features, 7za.dll should work only with the 7z file format, and 7zxa.dll can only extract 7z files. For more information about the 7-zip DLLs, please see thiswiki page.

In the end, some other features (e.g.,automatic format detection andselective extraction using regexes) are disabled by default, and macro definitions must be used during compilation to have them available (wiki).

☕️ Donate

If you have found this project helpful, please consider supporting me with a small donation so that I can keep improving it!Thank you! 🙏

Sponsor me on GitHubBuy Me a Coffee at ko-fi.comDonations

📜 License

This project is licensed under the terms of theMozilla Public License v2.0.
For more details, please check:

Older versions (v3.x and earlier) of bit7z were released under theGNU General Public License v2.

Documentation forbit7zv4.0.9
Copyright © 2014 - 2024 Riccardo Ostani (@rikyoz)
Clone this wiki locally

[8]ページ先頭

©2009-2025 Movatter.jp