Compression codes (theorems: Kraft, Shannon-Fano, Huffman, arithmetic and LZW code)