我正在寻找c#代码将字符串转换为BASE62,如下所示:
http://www.molengo.com/base62/title/base62-encoder-decoder
我需要那些用于URL编码的编码和解码方法。
答案 0 :(得分:6)
尝试这里提供的C#库,它添加了一些扩展方法,允许您将字节数组转换为BASE62和从BASE62转换。
如果您的源数据包含在“字符串”中,那么您首先需要将“字符串”转换为合适的字节数组。
但要小心,要使用正确的字符串到字节转换调用....因为您可能希望字节为ASCII字符,或Unicode字节流等,即Encoding.GetBytes(text)
或System.Text.ASCIIEncoding.ASCII.GetBytes(text);
等等
byte[] bytestoencode = ..... string encodedasBASE62 = bytestoencode.ToBase62(); ..... byte[] bytesdecoded = encodedasBASE62.FromBase62();
答案 1 :(得分:4)
您可以通过以下方式为任何基地执行此操作:
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;
}
答案 2 :(得分:1)
不是真正的答案,但希望这有助于您构建它的C#版本:
Javascript Base62编码/解码:
http://x443.wordpress.com/2012/03/18/javascript-base62-encode-decode/