Дерево Хаффмана для расстояний содержит коды от 0 до 29 (таблица ниже); код 29, за которым следует 8191 в «простых» битах, означает «расстояние 32768». Это жесткое ограничение в определении Deflate. Размер блока не ограничен. Собственно размер блока нигде не хранится: блок - это бесконечный поток. Если вы хотите остановить блокировку, вы отправляете для этого код конца блока.
Distance Codes
--------------
Extra Extra Extra Extra
Code Bits Dist Code Bits Dist Code Bits Distance Code Bits Distance
---- ---- ---- ---- ---- ------ ---- ---- -------- ---- ---- --------
0 0 1 8 3 17-24 16 7 257-384 24 11 4097-6144
1 0 2 9 3 25-32 17 7 385-512 25 11 6145-8192
2 0 3 10 4 33-48 18 8 513-768 26 12 8193-12288
3 0 4 11 4 49-64 19 8 769-1024 27 12 12289-16384
4 1 5,6 12 5 65-96 20 9 1025-1536 28 13 16385-24576
5 1 7,8 13 5 97-128 21 9 1537-2048 29 13 24577-32768
6 2 9-12 14 6 129-192 22 10 2049-3072
7 2 13-16 15 6 193-256 23 10 3073-4096