5

次のように、文字列を BASE62 に変換する C# コードを探しています。

http://www.molengo.com/base62/title/base62-encoder-decoder

URL エンコーディングには、これらのエンコード方法とデコード方法が必要です。

4

3 に答える 3

4

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();
于 2013-07-19T11:37:23.047 に答える
3

次の方法で、任意のベースに対してこれを行うことができます。

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;
}
于 2015-10-24T16:17:18.923 に答える
1

本当の答えではありませんが、これが C# バージョンを作成するのに役立つことを願っています:

Javascript Base62 エンコード/デコード:

http://x443.wordpress.com/2012/03/18/javascript-base62-encode-decode/

于 2013-07-19T11:44:52.013 に答える