Zstandard
From Just Solve the File Format Problem
(Difference between revisions)
(Added the new magic number) |
Ross-spencer (Talk | contribs) (→Identification) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
|subcat=Compression | |subcat=Compression | ||
|extensions={{ext|zst}} | |extensions={{ext|zst}} | ||
+ | |mimetypes={{mimetype|application/zstd}} | ||
|released=2015 | |released=2015 | ||
}} | }} | ||
'''Zstandard''', or '''Zstd''', is a general-purpose compression algorithm and file format. It is designed to have a good balance between compression ratio, compression speed, and decompression speed. | '''Zstandard''', or '''Zstd''', is a general-purpose compression algorithm and file format. It is designed to have a good balance between compression ratio, compression speed, and decompression speed. | ||
+ | Zstandard is able to use [[Zstandard dictionary|a "dictionary" format]] to make compression of files of an already known type more efficient. | ||
== Identification == | == Identification == | ||
− | + | ||
+ | Since version 0.8.0 (August 2016<ref>https://github.com/facebook/zstd/releases/tag/v0.8.0</ref>), the header is instead {{magic|28 b5 2f fd}}<ref>https://github.com/facebook/zstd/blob/dev/lib/zstd.h, definition of ZSTD_MAGICNUMBER</ref>. | ||
+ | |||
+ | === Legacy magic numbers === | ||
+ | |||
+ | Prior to 0.8.0 magic numbers were created for each new version, so for example 0.5.0 beggan with signature bytes {{magic|25 b5 2f fd}}. | ||
+ | |||
+ | Magic numbers are listed in legacy header files in the Zstandard library. | ||
+ | |||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v01.h#L86-L87 0.1.0] | ||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v02.h#L86 0.2.0] | ||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v03.h#L86 0.3.0] | ||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v04.h#L135 0.4.0] | ||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v05.h#L153 0.5.0] | ||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v06.h#L164 0.6.0] | ||
+ | * [https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/lib/legacy/zstd_v07.h#L180 0.7.0] | ||
== Software == | == Software == |
Latest revision as of 05:27, 23 October 2025
Zstandard, or Zstd, is a general-purpose compression algorithm and file format. It is designed to have a good balance between compression ratio, compression speed, and decompression speed.
Zstandard is able to use a "dictionary" format to make compression of files of an already known type more efficient.
Contents |
[edit] Identification
Since version 0.8.0 (August 2016[1]), the header is instead 28 b5 2f fd
[2].
[edit] Legacy magic numbers
Prior to 0.8.0 magic numbers were created for each new version, so for example 0.5.0 beggan with signature bytes 25 b5 2f fd
.
Magic numbers are listed in legacy header files in the Zstandard library.
[edit] Software
- Zstandard →
zstd
,unzstd
,zstdcat
[edit] Links
[edit] References
- ↑ https://github.com/facebook/zstd/releases/tag/v0.8.0
- ↑ https://github.com/facebook/zstd/blob/dev/lib/zstd.h, definition of ZSTD_MAGICNUMBER