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


在C#中,HttpUtility.UrlEncode("www+mzwu+com")编码结果为www%2bmzwu%2bcom,由于一些服务器对大小写敏感,要求结果改为www%2Bmzwu%2Bcom,注意,不是WWW%2BMZWU%2BCOM。

一开始看到这需求,我的注意力就转移到怎么将www%2bmzwu%2bcom转为www%2Bmzwu%2Bcom,正则等方法马上浮现出来,最后发现,一开始思路就错了,舍本逐末,用HttpUtility.UrlEncode就可以搞定:

public 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();
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM