固定ハフマン コードを使用して圧縮データを圧縮するための解凍プログラムを作成したいと考えています。仕様を形成します。
BTYPE specifies how the data are compressed, as follows: 00 - no compression 01 - compressed with fixed Huffman codes 10 - compressed with dynamic Huffman codes 11 - reserved (error) The only difference between the two compressed cases is how the Huffman codes for the literal/length and distance alphabets are defined.
BTYPE=01 の場合、デコンプレッサでデータを解凍します。ハフマン コードをデコードしてから lz77 を解凍する必要があることはわかっていますが、BTYPE=01 の場合、ハフマン ツリーは圧縮データとともに保存されません。
では、ツリーを持たずにハフマンコードをデコードするにはどうすればよいですか??
編集:
したがって、ハフマン コードは次のようになります。
0 110000
1 110001
2 110010
144 110010000
145 110010001
255 111111111
256 0
257 1
258 10
259 11
260 100
279 10111
280 11000000
287 11000111
私が得られないのは、コード10に遭遇した場合、値0〜23と256〜297は同じコード であるため、距離コードの値2と値258をどのように区別できるかです