MaVS

Encoding & Compression

Digital information comes in all forms: text, images, audio, video, and so on. Unfortunately, computers don't understand what these things are, and can only understand simple long chains of 0s and 1s. This is known as binary, with each 0 or 1 being a "bit." In order to store and display our data, we have to somehow convert all of our complicated information into binary so that the computer can understand it.

We call this process encoding. Roughly, we'll define encoding very broadly as "the process of taking information stored in one format, and turning it into another."

There are essentially an infinite number of ways to do that, but we'll focus on a few of the most popular encoding methods that are used in practice.

Primarily we will focus on ways to encode English text as binary, but the ideas learned through text encodings can be applied to many other types of data.

We also explore compression, the process of reducing the size of data we're storing by cutting down on repeated or unneeded information. Compression is often used to save space on a hard drive, or to make data transmission faster. We will only explore lossless compression in this module, which means that we can convert between the original information and the compressed information without losing any details.

We recommend you start with ASCII, then move on to Huffman Coding.

Lessons