Алгоритм сжатия данных при работе с Unicode работает следующим образом:
- Входные данные рассматриваются как серия 16-битных единиц, а не произвольных 8-битных данных. 1
- Отсутствует необходимость в скользящем окне, так как все данные уже присутствуют в памяти. 1
- Словарь организован в виде хэш-таблицы. 1 Хэш составляется из двух последовательных 16-битных символов и служит индексом к массиву указателей на предыдущие вхождения пары символов в тексте. 1
- Не предпринимаются усилия для нахождения самого длинного совпадения или избегания конфликтов в хэшах. 1 Это приводит к худшему коэффициенту сжатия, но к более высокой производительности. 1
- Найдённые по хэшу символы просто сравниваются, чтобы найти длину совпадения, после чего хэш обновляется, чтобы указывать на текущее расположение. 1
Также для сжатия данных при работе с Unicode может использоваться групповое кодирование (Run Length Encoding, RLE). 2 В нём сжатие происходит за счёт замены цепочек одинаковых байт на пары «счётчик, значение». 2