c#模拟js escape方法的简单实例_C#教程-查字典教程网
c#模拟js escape方法的简单实例
c#模拟js escape方法的简单实例
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:publicstaticstringEscape(strings){StringBuildersb=newStringBu...

复制代码 代码如下:

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

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类