DEFLATE 1-2-3
(Created page with "{{FormatInfo |formattype=electronic |subcat=Compression |extensions={{ext|?!?}} |released=1989 }} '''DEFLATE 1-2-3''' is a possible name for a compressed file format used for ...") |
|||
| (One intermediate revision by one user not shown) | |||
| Line 7: | Line 7: | ||
'''DEFLATE 1-2-3''' is a possible name for a compressed file format used for installation by some Lotus software. | '''DEFLATE 1-2-3''' is a possible name for a compressed file format used for installation by some Lotus software. | ||
| − | It is not related to | + | It is not related to PKWARE's [[DEFLATE]] compression format, which it predates. |
The compression utility, DEFLATE.EXE, calls itself "DEFLATE, the 1-2-3 file compression program". | The compression utility, DEFLATE.EXE, calls itself "DEFLATE, the 1-2-3 file compression program". | ||
| Line 14: | Line 14: | ||
== Format details == | == Format details == | ||
| − | The compressed file has the same name as the original, except that the second character of the filename | + | The compressed file has the same name as the original, except that the second character of the filename extension is replaced with "!". |
The first byte of the compressed file is the filename character that was replaced. The compressed data immediately follows. | The first byte of the compressed file is the filename character that was replaced. The compressed data immediately follows. | ||
| Line 21: | Line 21: | ||
== Identification == | == Identification == | ||
| − | + | Realistically, good identification of the format requires that you either take the filename into account, or that you decompress at least part of the file to check for validity. | |
| + | |||
| + | The first byte of the file is a character that can appear in the extension of a DOS filename, and it can't be "!" or a lowercase letter. That doesn't narrow it down much, though the official files might only use (uppercase) letters. | ||
| + | |||
| + | The first LZW code is a "clear" code (binary 100000000), encoded in 9 bits. This means the byte at offset 1 is 0x00, and the byte at offset 2 is an odd number. | ||
| + | |||
| + | The last LZW code is a "stop" code (binary 100000001), encoded in 9, 10, 11, or 12 bits. This works out to 11 possible bit patterns for the last 2-3 bytes of the file: | ||
| + | |||
| + | ... 1xxxxxxx 10000000 | ||
| + | ... 01xxxxxx 01000000 | ||
| + | ... 001xxxxx 00100000 | ||
| + | ... 0001xxxx 00010000 | ||
| + | ... 00001xxx 00001000 | ||
| + | ... 000001xx 00000100 | ||
| + | ... 0000001x 00000010 | ||
| + | ... 00000001 00000001 | ||
| + | ... 1xxxxxxx 10000000 00000000 | ||
| + | ... 01xxxxxx 01000000 00000000 | ||
| + | ... 001xxxxx 00100000 00000000 | ||
== Software == | == Software == | ||
| Line 31: | Line 49: | ||
== Sample files == | == Sample files == | ||
| − | (Look for files for which the second | + | (Look for files for which the second character of the extension is "!".) |
* See the packages in the Software section above. | * See the packages in the Software section above. | ||
Latest revision as of 13:05, 1 June 2026
DEFLATE 1-2-3 is a possible name for a compressed file format used for installation by some Lotus software.
It is not related to PKWARE's DEFLATE compression format, which it predates.
The compression utility, DEFLATE.EXE, calls itself "DEFLATE, the 1-2-3 file compression program".
The decompression utility, INFLATE.EXE, calls itself "INFLATE, the 1-2-3 file decompression program".
Contents |
[edit] Format details
The compressed file has the same name as the original, except that the second character of the filename extension is replaced with "!".
The first byte of the compressed file is the filename character that was replaced. The compressed data immediately follows.
The compression scheme is a common form of LZW, like Zoo or EA archive, with a maximum code size of 12 bits.
[edit] Identification
Realistically, good identification of the format requires that you either take the filename into account, or that you decompress at least part of the file to check for validity.
The first byte of the file is a character that can appear in the extension of a DOS filename, and it can't be "!" or a lowercase letter. That doesn't narrow it down much, though the official files might only use (uppercase) letters.
The first LZW code is a "clear" code (binary 100000000), encoded in 9 bits. This means the byte at offset 1 is 0x00, and the byte at offset 2 is an odd number.
The last LZW code is a "stop" code (binary 100000001), encoded in 9, 10, 11, or 12 bits. This works out to 11 possible bit patterns for the last 2-3 bytes of the file:
... 1xxxxxxx 10000000
... 01xxxxxx 01000000
... 001xxxxx 00100000
... 0001xxxx 00010000
... 00001xxx 00001000
... 000001xx 00000100
... 0000001x 00000010
... 00000001 00000001
... 1xxxxxxx 10000000 00000000
... 01xxxxxx 01000000 00000000
... 001xxxxx 00100000 00000000
[edit] Software
- INFLATE/DEFLATE (These utilities run on DOS, and probably OS/2.)
- INFLATE v2.0: smartpic.zip → {INFLATE.EXE, FLATE.RI}
- DEFLATE and INFLATE v2.0: [1] → {DEFLATE.EXE, INFLATE.EXE, FLATE.RI}
- INFLATE Symphony Release 2.2: [2] → {INFLATE.EXE, FLATE.RI}
- Deark
[edit] Sample files
(Look for files for which the second character of the extension is "!".)
- See the packages in the Software section above.
- fldemo1.zip ...