Режим Сжатия 07 — Frequency Map с v2.0.0
Этот режим сжатия создаёт карту частотности символов и сжимает входные данные по созданной карте частотности.
Он ставит компактные индексы размером в один байт на место самых частых символов и использует экранирование для других символов.
Как это работает
- Посчитать частоту всех символов входных данных.
- Выбрать до 254 самых частых символов.
- Создать карту частотности и поместить в начало выходных данных.
- Закодировать входные данные:
- частый символ → индекс размером в один байт (
0–253) - редкий символ → экранирование (
0xFF) + сам символ в виде UTF-16
- частый символ → индекс размером в один байт (
- Выдать результат в виде UTF-16.
Разделительный символ вставляется между картой частотности и закодированными входными данными, такой символ выбирается автоматически для избежания такого символа в входных данных.
Использование Заголовочного Символа
| Название | Использование |
|---|---|
| Код #1 | 07 |
| Код #2 | Идентификатор разделительного символа |
| Код #3 | по умолчанию |
| i? | false |
| o? | false |
| s? | false |
| b? | по умолчанию |