• URI编码解码


    自实现

         private string UrlEncode(string str)
            {
                StringBuilder sb = new StringBuilder();
                byte[] byStr = Encoding.UTF8.GetBytes(str); //默认是System.Text.Encoding.Default.GetBytes(str)
                for (int i = 0; i < byStr.Length; i++)
                {
                    sb.Append(Convert.ToString(byStr[i], 16));
                }
                return (sb.ToString());
            }
            private string UrlDecode(string str)
            {
                str = str.Replace(" ", "");
                if ((str.Length % 2) != 0)
                    str += " ";
                byte[] returnBytes = new byte[str.Length / 2];
                for (int i = 0; i < returnBytes.Length; i++)
                    returnBytes[i] = Convert.ToByte(str.Substring(i * 2, 2), 16);
                UTF8Encoding utf8 = new UTF8Encoding();
                string path = utf8.GetString(returnBytes);
                return path;
            }

    .NET

    string s= System.Web.HttpUtility.UrlEncode("123", System.Text.Encoding.Unicode); //编码
    string b = System.Web.HttpUtility.UrlDecode(s, System.Text.Encoding.Unicode);  //解码

    JS

    encodeURI()

    encodeURIComponent()

    decodeURI()

    decodeURIComponent()

    encodeURI不编码字符有82个:!,#,$,&,'',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

    encodeURIComponent不编码字符有71个:!, '',(,),*,-,.,_,~,0-9,a-z,A-Z

    winform程序对URL中的汉字进行编码

      我们通常会用到url的问号来向另一个页面传值,如果传递的值包含汉字,那就需要对汉字进行编码

      在asp.net中用下面的方法对汉字进行编码:

      引入System.Web命名空间

      System.Web.HttpContext.Current.Server.UrlEncode(“需要编码的汉字")

      在Winfrom程序中用下面的方法进行编码:

      同样引入System.Web命名空间

      编码:System.Web.HttpUtility.UrlEncode("需要编码的汉字", Encoding.GetEncoding("GB2312"))

      解码:System.Web.HttpUtility.UrlDecode(“需要编码的汉字", Encoding.GetEncoding("GB2312"))   

      在aspx中,一般无需解码,直接接用Request.QueryString接收即可。

  • 相关阅读:
    将微信小程序上传到公司的账号下
    当HBuilderX运行时打不开微信开发者工具时
    vue路径中去掉#
    初次快速使用git
    小米商城应用效果(阴影效果)
    如何使用hover点击一个元素使另一个颜色变色
    Open browser failed!! Please check if you have installed the browser correct
    vue中解决跨域问题
    vue中如何实现点击动态切换样式
    es5中数组的迭代方法 forEach,map,filter,some,every
  • 原文地址:https://www.cnblogs.com/zhchsh/p/5455705.html
Copyright © 2020-2023  润新知