次のように、文字列を BASE62 に変換する C# コードを探しています。
http://www.molengo.com/base62/title/base62-encoder-decoder
URL エンコーディングには、これらのエンコード方法とデコード方法が必要です。
次のように、文字列を BASE62 に変換する C# コードを探しています。
http://www.molengo.com/base62/title/base62-encoder-decoder
URL エンコーディングには、これらのエンコード方法とデコード方法が必要です。
BINARY から TEXT へのエンコード方式の背景:
https://en.wikipedia.org/wiki/Base62
https://en.wikipedia.org/wiki/Base64
BASE62 エンコーディング スキームの適切な説明:
https://www.codeproject.com/Articles/1076295/Base-Encode
バイト配列を BASE62 (バイナリからテキストへのエンコーディング スキーム) との間で変換できるようにするいくつかの拡張メソッドを追加する、ここで入手可能な C# ライブラリを試してください。
github にはたくさんの base62 ライブラリがあります。
ソース データが「文字列」に含まれている場合は、まず「文字列」を適切なバイト配列に変換する必要があります。
Encoding.GetBytes(text)
ただし、正しい文字列からバイトへの変換呼び出しを使用するように注意してください....バイトをASCII文字にしたり、UnicodeバイトストリームSystem.Text.ASCIIEncoding.ASCII.GetBytes(text);
などにしたい場合があります。
byte[] bytestoencode = ..... string encodedasBASE62 = bytestoencode.ToBase62(); ..... byte[] bytesdecoded = encodedasBASE62.FromBase62();
次の方法で、任意のベースに対してこれを行うことができます。
static string ToBase62(ulong number)
{
var alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var n = number;
ulong basis = 62;
var ret = "";
while (n > 0)
{
ulong temp = n % basis;
ret = alphabet[(int)temp] + ret;
n = (n / basis);
}
return ret;
}
本当の答えではありませんが、これが C# バージョンを作成するのに役立つことを願っています:
Javascript Base62 エンコード/デコード:
http://x443.wordpress.com/2012/03/18/javascript-base62-encode-decode/