About / Blog /

Suggested Reading
Guetzli JPEG Image Comparison, Collection of Human Interface and Software Design Guides, Air Lookout 1.4: All The Complications, Hello freelance!, My Favorite Podcasts, Kawasaki KLR 650 Rebuild Compilation

Tuesday, March 10th 2020

Zip Files: History, Explanation and Implementation link →

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.

There are two main ingredients in Zip compression: Lempel-Ziv compression and Huffman coding.

This is a really intriguing article that goes into the history and implementation of the Zip file format. While the C gets a bit intense towards the end, the LZ77 and Huffman coding was incredibly interesting to me. The explanation was incredibly clear and really shows how smart of a solution LZ77 and Huffman coding is.