首页 > 编程语言 >C#实现HttpUtility.UrlEncode输出大写字母

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

时间:2024-07-18 21:57:13浏览次数:12  
标签:UrlEncode C# builder else 大写字母 HttpUtility Append

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

标签:UrlEncode,C#,builder,else,大写字母,HttpUtility,Append
From: https://www.cnblogs.com/valu/p/18310496

相关文章

  • JavaWeb基本概念和Tomcat
    JavaWeb基本概念在Java中,动态web资源开发的技术统称为JavaWeb动态Web:类似淘宝,几乎所有的网站提供给所有人看的数据始终会发生变化,千人千面技术栈:Servlet/JSP,ASP,PHPweb应用程序web应用程序:可以提供浏览器访问的程序;a.html、b.html......多个web资源,这些web资源都可以......
  • TempRec论文阅读笔记
    IsNewsRecommendationaSequentialRecommendationTask?论文阅读笔记Abstract现存的问题:​ 新闻推荐通常被建模为顺序推荐任务,假定历史点击新闻存在丰富的短期依赖关系。然而,用户通常对新闻信息的时间多样性有很强的偏好,可能不会倾向于连续点击相似的新闻,这与电子商务推荐......
  • clock gating check两种类型归类
    前言:之前我一直以为clockgatingcheck只涉及AND/ORgate,直到前阵子后仿发现了minwidthpulseviolation,才从后端口中了解到MUX作为gatingcell也可以做clockgatingcheck。TO后对此研究了一番,先把基本概念搞清楚放这儿,后面再写解决该violation的两个方法。clock_gating_che......
  • 学习 profcontrol 之锁定与隐藏
    我们画出来的任何元素,点击它,点击右键菜单都会有隐藏功能,隐藏之后我们在底部工具栏可以选择全部显示,使其还原出来;同时我们也可以按着shift键框选,将他们整体一起隐藏或者一起显示。隐藏功能更多的时候推荐使用图层隐藏,图层隐藏的好处是我们对于一个图层隐藏完之后,我们在这里......
  • cocos2d-x 4.0在manjaro 24.0.4编译
    相关版本:gcc/g++14.1.1cmake3.30.01、先参考install-deps-linux.sh下载对应依赖2、cocos2d-x-4.0/templates/lua-template-default/CMakeLists.txt中66行62│if(ANDROID)63│#changeAPP_NAMEtothesharelibrarynameforAndroid,it'svaluedepend......
  • Educational Codeforces Round 139 (Rated for Div. 2)
    A.ExtremelyRound----------------------------------题解-------------------------------------因为数据范围只有1e6,我们只需要预处理出来1-1e6每个每个数包含多少个极圆整数就行了,然后t次查询就可以。这种预处理查询是面对多次询问时应该首先想到的。点击查看代码#incl......
  • Logstash docker发布
    一下载Logstash不废话了,我下载的7.17.6 二新增配置文件在logstash/pipeline中,添加logstash.confinput{jdbc{#连接jdbc_connection_string=>"jdbc:mysql://192.168.1.1:3306/kintech-cloud-bo?characterEncoding=UTF-8&useSSL=false"#账号jdbc_user=......
  • 【笔记】【THM】Introduction to Cryptography(密码学简介)
    【THM】IntroductiontoCryptography(密码学简介)-学习本文相关的TryHackMe实验房间链接:https://tryhackme.com/r/room/cryptographyintro本文相关内容:了解AES、Diffie-Hellman密钥交换、哈希、PKI和TLS等加密算法。(大部分为机翻,若有错误请指出)介绍这个房间的目的是向......
  • 初识c++:类和对象(4)
    本文大纲:1.再探构造函数(1)之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函数初始化还有⼀种⽅式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成员列表,每个"成员变量"后⾯跟⼀个放在括号中的初始值或表达式。(初始化列表......
  • centos6忘记root密码,进入单用户修改
    1、开机按任意键进入启动菜单,如下2、按a或e进入grub界面3、选中内核按e进入内核编辑模式4、输入1或者是S或者s或者single,然后按enter回车键5、按enter回到启动菜单后,按b进入系统6、进入系统后,输入passwd修改密码......