私はこの問題を実行しようとしています:
可能なすべてのバイト値ではなく、Unicode文字セット全体の最初のアルファベットがあると仮定します。Unicode文字は符号なしの2バイト値であるため、非圧縮データの各2バイトが1つのシンボルとして扱われ、60,000を超えるシンボルのアルファベットが作成されることを思い出してください。(シンボルを一度に1バイトではなく2バイトのUnicodeとして扱うと、国際化されたテキストの場合の圧縮が向上します。)また、コードあたりのビット数を最大16に制限するものはありません。この非常に大きなアルファベットのLZWアルゴリズムを一般化します。かなり長いコードがある場合でも、心配する必要はありません。
これで、EODコードを含むプロジェクトの前提条件を使用し、4バイトのintにグループ化して、この4シンボルシーケンスの圧縮バージョンを提供します。(これらの3つの記号はUnicode値であり、数値で表されます。)回答は、小文字ではなく大文字の16進数を使用して、スペースで区切られた3つの8桁の16進値として記述してください。
32767 32768 32767 32768
私が抱えている問題は、アルファベットの全範囲がわからないことです。そのため、LZW圧縮を実行するときに、新しいコードのバイト値がわかりません。その問題から抜け出して、私もEODコードがどうなるかわかりません。
また、圧縮されたデータは2つの整数しか必要としないように思われます。