Is there is a way to reduce the length of a string
using String encoding algorithm.
残念ながら、「ハフマン符号化」は私の場合の解決策ではありません。文字列を受け取り、元の文字列(入力)よりも短い文字列を生成するコーディングアルゴリズムを探しています。
うまくいけば、これはあなたの意図した質問に答えます。短い英語の文字列を効率的に圧縮するライブラリsmazがあります。おそらくあなたにとって幸運なことに、それは実際に文字列をエンコードします。文字列が英語でない場合は、smaz(静的辞書)で使用される一般的な方法を他のコンプレッサーで使用できます。
すべての場合に機能する一般的な圧縮方法がないように、任意の文字列を短縮する方法はありません。したがって、必要なことは、予想される入力に適合する圧縮方法を選択し、それを使用することです。次に、結果を文字列に変換するだけです。
結果を文字列に変換する方法を知りたいだけの場合は、さまざまな方法があります。Base64 は簡単で、十分に機能します。ただし、純粋なバイナリ エンコード文字列と比較すると、25% のオーバーヘッドがあります。
「英語テキスト圧縮テスト」を参照してください。この記事では、英語のテキストを圧縮するためのほぼすべての可能なアルゴリズムを見つけることができます。それらのいくつかはあなたの要件を満たすことができるかもしれません.