Java で long にエンコードしたい String があります。また、長いものから文字列にデコードしたいと思います。Long (オブジェクト) ではなく、"long" (プリミティブ) であることが重要です。文字列の最大長は 128 文字ですが、通常はそれよりもずっと小さくなります。文字列の文字は ASCII でエンコードされ、拡張 ASCII コード (0-256) ではなく、標準の ASCII 値 (0-127) のみを使用します。
各文字を long (8 バイト) の各バイトに変換するだけで、長さ 8 の文字列をエンコードできます。各文字の範囲は 0 ~ 127 (7 ビット) であるため、最長で 9 文字 (64 ビット / 7 ビット = 9.14) をエンコードできると思いますが、まだ実装していません。
(128 文字すべてをエンコードすることは) 不可能かもしれないと感じていますが、問題を解決して、より良い手法があるかどうかを確認したかったのです。
128 文字が不可能な場合、long にエンコードできる最大文字数は?
PSハッシュも少し調べましたが、質問のデコード要件で失敗したようです。