First off: it’s not possible to compress everything into something smaller. Whatever algorithm you choose, some possible data will actually end up larger after compression than smaller.
Now that being said, most data we care about has patterns and repetition. The simplest algorithms for compression will look for patterns and repetition and instead of repeating the data or expressing the pattern directly, will instead describe a way to rebuild the repetition or recreate the pattern.
It’s much less data for me to say “1 to 1000 by 2s” than it is to write out “2 4 6 8 10 12…” etc.
Latest Answers