Like most developers, I’ve used compression tools like gzip , zip , and tar for years without ever really understanding how they work under the hood. You pass a file in, run a command, and out comes a file half the size. It feels like magic.
Source: [Dev.to](https://dev.to/iammilan/building-a-lossless-file-compressor-from-scratch-in-c-my-journey-with-shannon-fano-bitstreams-43b0)