欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Url的Base64编码以及解码

程序员文章站 2022-06-29 08:43:56
Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。我们可以在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。在ASP.NET应用 ......

base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被url进行转码的特殊字符,导致两方面数据不一致。我们可以在发送前将“+”,“/”,“=”替换成url不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。在asp.net应用程序中,可以使用httputility工具类结合convert类来实现对url进行base64编码以及解码操作。

(1)将url进行base64编码

    public static string base64encrypt(string sourthurl)
        {
            string eurl = httputility.urlencode(sourthurl);
            eurl = convert.tobase64string(encoding.getbytes(eurl));
            return eurl;
        }

(2)将url进行base64解码

    public static string base64decrypt(string estr)
        {        
            if (!isbase64(estr))
            {
                return estr;
            }
            byte[] buffer = convert.frombase64string(estr);
            string sourthurl = encoding.getstring(buffer);
            sourthurl = httputility.urldecode(sourthurl);
            return sourthurl;
        }

 

备注:此文转载自url的base64编码以及解码_it技术小趣屋