distance code 0~29 全映射表
| distance code | base distance | extra bits | 距离范围 |
|---|---|---|---|
| 0 | 1 | 0 | 1 |
| 1 | 2 | 0 | 2 |
| 2 | 3 | 0 | 3 |
| 3 | 4 | 0 | 4 |
| 4 | 5 | 1 | 5-6 |
| 5 | 7 | 1 | 7-8 |
| 6 | 9 | 2 | 9-12 |
| 7 | 13 | 2 | 13-16 |
| 8 | 17 | 3 | 17-24 |
| 9 | 25 | 3 | 25-32 |
| 10 | 33 | 4 | 33-48 |
| 11 | 49 | 4 | 49-64 |
| 12 | 65 | 5 | 65-96 |
| 13 | 97 | 5 | 97-128 |
| 14 | 129 | 6 | 129-192 |
| 15 | 193 | 6 | 193-256 |
| 16 | 257 | 7 | 257-384 |
| 17 | 385 | 7 | 385-512 |
| 18 | 513 | 8 | 513-768 |
| 19 | 769 | 8 | 769-1024 |
| 20 | 1025 | 9 | 1025-1536 |
| 21 | 1537 | 9 | 1537-2048 |
| 22 | 2049 | 10 | 2049-3072 |
| 23 | 3073 | 10 | 3073-4096 |
| 24 | 4097 | 11 | 4097-6144 |
| 25 | 6145 | 11 | 6145-8192 |
| 26 | 8193 | 12 | 8193-12288 |
| 27 | 12289 | 12 | 12289-16384 |
| 28 | 16385 | 13 | 16385-24576 |
| 29 | 24577 | 13 | 24577-32768 |
比如 distance = 12:
- 查表落在 9-12
- 所以 distance code = 6
- base distance = 9
- extra bits = 2
- extra value = 12 - 9 = 3,即二进制 11
所以最终不是直接写 12,而是写: - distance symbol = 6
- extra bits = 11
浙公网安备 33010602011771号