Well now, let's get into some interesting semantic hair splits.
Zipping is in effect, encoding. There are several variations on the theme but in general you are
encoding by replacing long sequences of bits with shorter sequences to reduce file size. To unzip, you need to reverse that process to get back to the original.
So eg., if you were to use the ancient run length encoding compression scheme to compress the string of text 'AABBBCCCC' you'd encode that as '
A2B3C4' so you'd have 6 bytes instead of 9 bytes.To get back to the original, you need to read the encoded stream and replace 'A2' with 'AA', etc.