In
coding theory a variable-length code is a
code which maps source symbols to a variable number of bits. Variable-length codes can allow sources to be
compressed and decompressed with zero error (
lossless data compression) and still be read back symbol by symbol. With the right coding strategy an
i.i.d. source may be compressed almost arbitrarily close to its
entropy. This is in contrast to fixed length coding methods, for which data compression is only possible for large blocks of data, and any compression beyond the logarithm of the total number of possibilities comes with a finite (though perhaps arbitrarily small) probability of failure.
See more at Wikipedia.org...