Url的Base64编码以及解码
程序员文章站
2023-11-09 21:48:22
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技术小趣屋。