将字符串转换为BASE62

fub*_*ubo 4 c# type-conversion base62

我正在寻找将字符串转换为BASE62的c#代码,如下所示:

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

我需要那些用于URL编码的编码和解码方法.

Col*_*ith 6

尝试这里提供的C#库,它添加了一些扩展方法,允许您将字节数组转换为BASE62和从BASE62转换.

如果您的源数据包含在"字符串"中,那么您首先需要将"字符串"转换为合适的字节数组.

但要小心,使用正确的字符串到字节转换调用....因为您可能希望字节是ASCII字符,或Unicode字节流等ie Encoding.GetBytes(text)System.Text.ASCIIEncoding.ASCII.GetBytes(text);

byte[] bytestoencode = ..... 

string encodedasBASE62 = bytestoencode.ToBase62();

.....

byte[] bytesdecoded = encodedasBASE62.FromBase62();
Run Code Online (Sandbox Code Playgroud)


tru*_*ler 5

您可以通过以下方式针对任何基础进行此操作:

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;
}
Run Code Online (Sandbox Code Playgroud)

  • 这是用于将 ulong 转换为 base62,而不是字符串(在问题中询问)。 (3认同)