数値の 20 ~ 40文字サイズを6文字サイズの数値に圧縮する必要があります。これまでのところ、ハフマンといくつかのZipアルゴリズムを試しましたが、望ましい結果が得られませんでした。
Javaでこの作業を行うための他のアルゴリズム/ APIについて教えてください。
例:
Input: 98765432101234567890
Desired Output: 123456
注意: 与えられた入力に対して出力が 12345 でなければならないという意味ではありません。20 バイトの数値を指定した場合は、6 バイトの数値に圧縮する必要があるということだけを意味します。
使用法:圧縮された数値がデバイスに供給されます (最大 6 文字の数字しか使用できません)。デバイスは番号をデコードして元の番号に戻します。
前提/制限:
必要に応じて、クライアントとデバイス (サーバー) の両方が、数値のエンコード/デコードに必要ないくつかの共通プロパティを共有できます。
デバイスに対して行うことができるリクエストは 1 つだけです。つまり、すべてのデータを 1 つのリクエストで送信する必要があり、小さなパケットのチャンクではありません。
ありがとう。