zoukankan      html  css  js  c++  java
  • c# 对Url 解码编码

       /// <summary>
            /// 对Url进行编码
            /// </summary>
            /// <param name="url">url</param>
            /// <param name="isUpper">编码字符是否转成大写,范例,"http://"转成"http%3A%2F%2F"</param>
            public static string UrlEncode(string url, bool isUpper = false)
            {
                return UrlEncode(url, Encoding.UTF8, isUpper);
            }
    
            /// <summary>
            /// 对Url进行编码
            /// </summary>
            /// <param name="url">url</param>
            /// <param name="encoding">字符编码</param>
            /// <param name="isUpper">编码字符是否转成大写,范例,"http://"转成"http%3A%2F%2F"</param>
            public static string UrlEncode(string url, Encoding encoding, bool isUpper = false)
            {
                var result = HttpUtility.UrlEncode(url, encoding);
                if (!isUpper)
                    return result;
                return GetUpperEncode(result);
            }
    
            /// <summary>
            /// 获取大写编码字符串
            /// </summary>
            private static string GetUpperEncode(string encode)
            {
                var result = new StringBuilder();
                int index = int.MinValue;
                for (int i = 0; i < encode.Length; i++)
                {
                    string character = encode[i].ToString();
                    if (character == "%")
                        index = i;
                    if (i - index == 1 || i - index == 2)
                        character = character.ToUpper();
                    result.Append(character);
                }
                return result.ToString();
            }
      /// <summary>
            /// 对Url进行解码,对于javascript的encodeURIComponent函数编码参数,应使用utf-8字符编码来解码
            /// </summary>
            /// <param name="url">url</param>
            public static string UrlDecode(string url)
            {
                return HttpUtility.UrlDecode(url);
            }
    
            /// <summary>
            /// 对Url进行解码,对于javascript的encodeURIComponent函数编码参数,应使用utf-8字符编码来解码
            /// </summary>
            /// <param name="url">url</param>
            /// <param name="encoding">字符编码,对于javascript的encodeURIComponent函数编码参数,应使用utf-8字符编码来解码</param>
            public static string UrlDecode(string url, Encoding encoding)
            {
                return HttpUtility.UrlDecode(url, encoding);
            }
    从此山高路远,纵马扬鞭。愿往后旅途,三冬暖,春不寒,天黑有灯,下雨有伞。此生尽兴,不负勇往。
  • 相关阅读:
    dubbo里面的JavaBeanDescriptor是怎么进行序列化和反序列化的?
    为什么dubbo的调用重试不建议设置成超过1
    dubbo中registry、route、directory、cluster、loadbalance、route的关系以及一个引用操作和调用操作到底干了啥
    技术博客-1 DRF框架下的图片(文件)上传
    Scrum meeting 1
    beta设计和计划
    事后分析$alpha$
    项目展示$alpha$
    帮助文档
    发布声明α
  • 原文地址:https://www.cnblogs.com/feizianquan/p/9734409.html
Copyright © 2011-2022 走看看