a compress algorithm based on huffuman