В данный момент существует несколько семейств (подходов) к сжатию информации со 100% восстановлением:
Необходимо отметить, что каждый алгоритм работает особенно хорошо на специфических потоках данных. И даже более того, математиками уже доказано, что первые три метода являются частными случаями одного всеохватывающего алгоритма арифметического кодирования!!!