Формат сжатия Brotli превосходно задокументирован в RFC 7932 . Вы можете просто прочитать этот RFC сверху вниз, и он расскажет вам, как работает формат.
Однако, хотя вы, вероятно, могли бы реализовать декодер (декомпрессор) на основе только RFC, RFC не описывает алгоритм кодера en , который является частью эталонной реализации Google C (brotli
) инструмент командной строки). Другими словами, он не говорит нам, какие стратегии кодировщик использует на разных уровнях качества, чтобы найти эффективное сжатое представление для данного входного потока.
Конечно, я всегда могу прочитать источник кодера , но мне было интересно, есть ли доступное высокоуровневое описание того, как работает кодер?