Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 18 submissions in the queue.
posted by Fnord666 on Saturday February 29 2020, @06:05PM   Printer-friendly
from the zip-it-up dept.

Hans Wennborg does a deep dive into the history and evolution of the Zip compression format and underlying algorithms in a blog post. While this lossless compression format became popular around three decades ago, it has its roots in the 1950s and 1970s. Notably, as a result of the "Arc Wars" of the 1980s, hitting BBS users hard, the Zip format was dedicated to the public domain from the start. The main work of the Zip format is performed through use of Lempel-Ziv compression (LZ77) and Huffman coding.

I have been curious about data compression and the Zip file format in particular for a long time. At some point I decided to address that by learning how it works and writing my own Zip program. The implementation turned into an exciting programming exercise; there is great pleasure to be had from creating a well oiled machine that takes data apart, jumbles its bits into a more efficient representation, and puts it all back together again. Hopefully it is interesting to read about too.

This article explains how the Zip file format and its compression scheme work in great detail: LZ77 compression, Huffman coding, Deflate and all. It tells some of the history, and provides a reasonably efficient example implementation written from scratch in C. The source code is available in hwzip-1.0.zip.

Previously:
Specially Crafted ZIP Files Used to Bypass Secure Email Gateways (2019)
Which Compression Format to Use for Archiving? (2019)
The Math Trick Behind MP3s, JPEGs, and Homer Simpson's Face (2019)
Ask Soylent: Internet-communication Archival System (2014)


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 0) by Anonymous Coward on Sunday March 01 2020, @12:38AM (2 children)

    by Anonymous Coward on Sunday March 01 2020, @12:38AM (#964718)

    In the DOS days.

  • (Score: 2, Informative) by Anonymous Coward on Sunday March 01 2020, @01:04PM (1 child)

    by Anonymous Coward on Sunday March 01 2020, @01:04PM (#964868)

    7z for the win.
    Until we banned Russian software.

    • (Score: 2) by Freeman on Monday March 02 2020, @06:29PM

      by Freeman (732) on Monday March 02 2020, @06:29PM (#965585) Journal

      'eh, I didn't even notice it was Russian. With the increasing size of drives nowadays, you don't really need to zip anything. It's been a long time, since I zipped anything, except for the occasional zip this to load to this vendor kind of thing. Even then, they usually want a specific file type like a pdf, csv, or other file. Not a zipped file.

      --
      Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"