欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#版的 Escape() 和 Unescape()

程序员文章站 2022-07-07 08:14:57
Escape: 复制代码 代码如下: public static string Escape(string str) { StringBuilder sb = new StringBuilder(); foreach (char c in str) { sb.Append((Char.IsLette ......

escape:
复制代码 代码如下:

public static string escape(string str)
{
stringbuilder sb = new stringbuilder();
foreach (char c in str)
{
sb.append((char.isletterordigit(c)
|| c == '-' || c == '_' || c == '\\'
|| c == '/' || c == '.') ? c.tostring() : uri.hexescape(c));
}
return sb.tostring();
}

unescape:
复制代码 代码如下:

public static string unescape(string str)
{
stringbuilder sb = new stringbuilder();
int len = str.length;
int i = 0;
while (i != len)
{
if (uri.ishexencoding(str, i))
sb.append(uri.hexunescape(str, ref i));
else
sb.append(str[i++]);
}
return sb.tostring();
}

在 .net 中还可以这样来调用:

在程序集中引用microsoft.jscript

复制代码 代码如下:

microsoft.jscript.globalobject.escape("");
microsoft.jscript.globalobject.unescape("");