C#版的 Escape() 和 Unescape()
程序员文章站
2022-05-08 07:54:23
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("");