您的位置:首页 > 理论基础 > 计算机网络

C# HttpUtility.UrlEncode 与 Java URLEncoder.encode的转换方法,李逵与李鬼

2018-02-05 15:41 1011 查看
两种语言编码结果不一致,部分内容小大写需要转换,

李鬼方法如下(只转换了普通内容,在涉及到空格等字符时还是会编码不一致)

 //public static string UrlEncode(string str)

        //{

        //    StringBuilder builder = new StringBuilder();

        //    foreach (char c in str)

        //    {

        //        if (HttpUtility.UrlEncode(c.ToString()).Length > 1)

        //        {

        //            builder.Append(HttpUtility.UrlEncode(c.ToString()).ToUpper());

        //        }

        //        else

        //        {

        //            builder.Append(c);

        //        }

        //    }

        //    return builder.ToString();

        //}  

 private static string UrlEncode(string temp, Encoding encoding)

        {
            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < temp.Length; i++)
            {
                string t = temp[i].ToString();
                string k = HttpUtility.UrlEncode(t, encoding);
                if (t == k)
                {
                    stringBuilder.Append(t);
                }
                else
                {
                    stringBuilder.Append(k.ToUpper());
                }
            }
            return stringBuilder.ToString();
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐