zoukankan      html  css  js  c++  java
  • c#模拟js escape方法

    public static string Escape(string s)
            {
                StringBuilder sb = new StringBuilder();
                byte[] ba = System.Text.Encoding.Unicode.GetBytes(s);
                for (int i = 0; i < ba.Length; i += 2)
                {
                    if (ba[i + 1] == 0)
                    {
                        //数字,大小写字母,以及"+-*/._"不变
                        if (
                              (ba[i] >= 48 && ba[i] <= 57)
                            || (ba[i] >= 64 && ba[i] <= 90)
                            || (ba[i] >= 97 && ba[i] <= 122)
                            || (ba[i] == 42 || ba[i] == 43 || ba[i] == 45 || ba[i] == 46 || ba[i] == 47 || ba[i] == 95)
                            )//保持不变
                        {
                            sb.Append(Encoding.Unicode.GetString(ba, i, 2));
    
                        }
                        else//%xx形式
                        {
                            sb.Append("%");
                            sb.Append(ba[i].ToString("X2"));
                        }
                    }
                    else
                    {
                        sb.Append("%u");
                        sb.Append(ba[i + 1].ToString("X2"));
                        sb.Append(ba[i].ToString("X2"));
                    }
                }
                return sb.ToString();
            }
    
  • 相关阅读:
    4、2 核心组件
    promise
    Content-Type
    $routeProvider
    广告
    $apply() $digest()
    异常
    switch
    autoprefixer
    $resource
  • 原文地址:https://www.cnblogs.com/binlyzhuo/p/3445245.html
Copyright © 2011-2022 走看看