C#实现HttpUtility.UrlEncode输出大写字母

 在c#中,HttpUtility.UrlEncode("www+mzwu+com")编码结果为www%2bmzwu%2bcom,在和Java开发的平台做对接的时候,对方用用url编码后再对其进行MD5加密,url编码之后的字符串为大(www%2Bmzwu%2Bcom)写这样加密出来的字符串就.net平台的不匹配,

以下供上方法就是解决HttpUtility.UrlEncode编码由小写转化为大写字母

复制代码
/// <summary>
/// 实现HttpUtility.UrlEncode输出大写字母
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string UrlEncode(string str)
{
    StringBuilder builder = new StringBuilder();
    foreach (char c in str)
    {
        if (c == '+')
        {
            builder.Append("%2B");
        }
        else if (c == ' ')
        {
            builder.Append("%20");
        }
        else
        {
            int len = HttpUtility.UrlEncode(c.ToString()).Length;
            if (len > 1)
            {
                builder.Append(HttpUtility.UrlEncode(c.ToString()).ToUpper());
            }
            else
            {
                builder.Append(c);
            }
        }
    }
    return builder.ToString();
}
复制代码
posted @   威流  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示