Url的Base64编码以及解码

摘要:Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。

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技术小趣屋


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_2407