C#方法类似Base64String,但只有字母数字(无加号或斜杠)

Ale*_*lex 11 c# base64 encoding alphanumeric

是否有任何C#方法与Convert.ToBase64String类似,但除了字母数字输出外不生成任何内容?

谢谢!

Mas*_*iti 22

答案现在有点过时了.为了未来的搜索者的利益:现在在C#中处理这个问题的最佳方法是:

byte[] b; // fill your byte array somehow
string s = System.Web.HttpServerUtility.UrlTokenEncode(b);
Run Code Online (Sandbox Code Playgroud)

这将返回一个Base64编码的字符串,该字符串是URL安全的(这就是你在评论的评论中所说的那样).

然后你可以使用,你猜对了它再解码它:

byte[] b = System.Web.HttpServerUtility.UrlTokenDecode(s);
Run Code Online (Sandbox Code Playgroud)


Xia*_*ofu 12

您可能正在考虑使用类似Base32编码的东西.Michael Giagnocavo 在这里有一个用于C#的Base32编码器/解码器.它使用大写字母和数字的组合.

还有StackOverflow上的相关讨论在这里.

编辑:如果这是用于URL安全相关的Base64编码,只需执行Base64并将"+"替换为" - ",将"/"替换为"_".但我猜,你可能不会那样想.

  • 这里有关于 URL 安全 Base64 的简要说明:http://en.wikipedia.org/wiki/Base64#URL_applications (2认同)