Zstandard

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{FormatInfo |formattype=electronic |subcat=Compression |extensions={{ext|zst}} |released=2015 }} '''Zstandard''', or '''Zstd''', is a general-purpose compression algorithm an...")
 
(Identification)
 
(6 intermediate revisions by 3 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.
  
== Identifications ==
+
Zstandard is able to use [[Zstandard dictionary|a "dictionary" format]] to make compression of files of an already known type more efficient.
For at least some versions of Zstd format, files begin with signature bytes {{magic|25 b5 2f fd}}.
+
== 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 ==
 +
* [https://github.com/Cyan4973/zstd Zstandard] → <code>zstd</code>, <code>unzstd</code>, <code>zstdcat</code>
  
 
== Links ==
 
== Links ==
 
* [http://www.zstd.net/ Zstandard website]
 
* [http://www.zstd.net/ Zstandard website]
 +
* RFC 8478
 +
* [[Wikipedia: Zstandard]]
 +
 +
== References ==
 +
<references />
 +
 +
[[Category:Facebook]]

Latest revision as of 05:27, 23 October 2025

File Format
Name Zstandard
Ontology
Extension(s) .zst
MIME Type(s) application/zstd
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 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

[edit] Links

[edit] References

  1. https://github.com/facebook/zstd/releases/tag/v0.8.0
  2. https://github.com/facebook/zstd/blob/dev/lib/zstd.h, definition of ZSTD_MAGICNUMBER
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox