1
1
# BZip3 Format Documentation
2
2
3
3
BZip3 is a modern compression format designed for high compression ratios while maintaining
4
- reasonable decompression speeds. It targets the same category/weight as LZMA and BZip2; as opposed
5
- to the speedy LZ based formats like ZStandard
4
+ reasonable decompression speeds. It is intended to provide similar compression ratio and
5
+ performance to LZMA and BZip2; as opposed to faster Lempel-Ziv codecs that usually offer worse
6
+ compression ratio like ZStandard or LZ4.
6
7
7
8
This documentation covers the technical specifications of the BZip3 format.
8
9
@@ -13,15 +14,17 @@ This documentation covers the technical specifications of the BZip3 format.
13
14
- Memory usage of ~ (6 x block size), both compression and decompression
14
15
- Little-endian encoding for integers
15
16
- Embedded CRC32 checksums for data integrity
16
- - Combines LZP, RLE followed by Burrows-Wheeler transform and arithmetic coding.
17
+ - Combines LZP, RLE followed by Burrows-Wheeler transform and arithmetic coding coupled with
18
+ a statistical predictor.
17
19
18
20
## Format Overview
19
21
20
- BZip3 uses two main formats:
22
+ BZip3 uses two main top-level formats:
21
23
22
24
1 . ** File Format** : The standard format used by the command-line tool
23
25
2 . ** Frame Format** : Used by the high-level API functions ` bz3_compress ` and ` bz3_decompress ` .
24
26
25
- These formats are the same, except the fact that the file format also contains a block count field.
27
+ These formats are very similar: the file format is a superset of the frame format and thus also
28
+ contains a block count field.
26
29
27
- See [ bzip3_format.md] ( ./bzip3_format.md ) for the exact specification .
30
+ See [ bzip3_format.md] ( ./bzip3_format.md ) for more details .
0 commit comments