C#實現Java版的UrlEncode方法


以字符串“/v1/api/items”為例,C#的HttpUtility.UrlEncode的結果是“%2fv1%2fapi%2fitems”,Java的URLEncoder.encode(value, "UTF-8")的結果是“%2Fv1%2Fapi%2Fitems”,有時候對接java版的接口時候用到加密這塊的話,就會很尷尬,愣是發送不成功,所以只能用C#造輪子了,實現方法如下:

public static string encode(string str)
        {
            StringBuilder sb = new StringBuilder();
            foreach (char c in str)
            {
                if (HttpUtility.UrlEncode(c.ToString(), Encoding.UTF8).Length > 1)
                {
                    sb.Append(HttpUtility.UrlEncode(c.ToString(),Encoding.UTF8).ToUpper());
                }
                else
                {
                    sb.Append(c);
                }
            }
            return sb.ToString();
        }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM