PKWARE DCL Implode
(Added Identification section, copied from TTCOMP) |
|||
Line 8: | Line 8: | ||
The terms "blast" and "explode" are sometimes used in association with this format. | The terms "blast" and "explode" are sometimes used in association with this format. | ||
+ | |||
+ | == Identification == | ||
+ | A DCL Implode datastream starts with a two-byte header. The first byte indicates the type of compression: | ||
+ | * <code>0x00</code>: binary compression | ||
+ | * <code>0x01</code>: ASCII compression (a method optimized for compressing text) | ||
+ | |||
+ | The second byte specifies the size of the dictionary: | ||
+ | * <code>0x04</code>: 1024 bytes | ||
+ | * <code>0x05</code>: 2048 bytes | ||
+ | * <code>0x06</code>: 4096 bytes | ||
+ | |||
+ | Most common is {{magic|0x00 0x06}}, indicating binary compression and a 4K dictionary. | ||
== Related formats == | == Related formats == | ||
Line 13: | Line 25: | ||
* [[InstallShield Z]] | * [[InstallShield Z]] | ||
* [[ZIP]] (compression method #10) | * [[ZIP]] (compression method #10) | ||
− | * [[ | + | * [[TTCOMP]] |
* [[CMZ (archive format)]] (?) | * [[CMZ (archive format)]] (?) | ||
Revision as of 14:26, 20 July 2021
PKWARE DCL Implode is a compressed data format associated with PKWARE Data Compression Library (DCL), a commercial data compression software product. It is not the only format supported by DCL, but it is possibly the most notable one.
DCL Implode is not the same format as ZIP's old "implode" compression method (#6). It is unfortunate that there are two formats named "implode" associated with the same company. It can be used in ZIP, as compression method #10, but support for this is limited.
The terms "blast" and "explode" are sometimes used in association with this format.
Contents |
Identification
A DCL Implode datastream starts with a two-byte header. The first byte indicates the type of compression:
-
0x00
: binary compression -
0x01
: ASCII compression (a method optimized for compressing text)
The second byte specifies the size of the dictionary:
-
0x04
: 1024 bytes -
0x05
: 2048 bytes -
0x06
: 4096 bytes
Most common is 0x00 0x06
, indicating binary compression and a 4K dictionary.
Related formats
- TERSE
- InstallShield Z
- ZIP (compression method #10)
- TTCOMP
- CMZ (archive format) (?)
Specifications
- Reverse-engineered information by Ben Rudiak-Gould (Usenet post - comp.compression, 2001)
Software
- zlib does not support it directly, but its source code includes a decoder (contrib/blast).
- Lawine (a Starcraft/Brood War Library)
- StormLib/pklib
- https://github.com/JoshVarga/blast - An encoder/decoder written in Go
- PKWARE DCL