バイト配列に/から設定された定義済みの文字列で特定の文字列をエンコード/デコードする汎用アルゴリズムを探しています。最小限のスペースを使用する必要があります。
Base'n' to Base 2 アルゴリズムの一種である私の開発を始めましたが、そのようなものはすでに開発されているに違いないと思います。
私の必要性は、既知の制限された文字セットを使用して、最小限のビット数の文字列でエンコードすることです。多分私はbzip2を使うべきですか?
編集:文字列の長さの最大値は 160 文字です。必要に応じてパディングできます。
Edit2: 最悪の場合のビット数を知っている必要があります。
byte[] encode(string charset, string value)
string decode(string charset, byte[] encodedValue)
使用法:
string myString = "HELLO WORLD";
string charSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ "; // Base 27
byte[] encodedString = encode(charset, myString); // Base 27 -> Base 2
Debug.Assert(myString.Equals(decode(charset, encodedString))); // Base 2 -> Base 27