在 JavaScript 中:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
对于 C # 应用程序来说,有没有一种等效的方法:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
但是我不确定如何将匹配转换为 JS 使用的正确的十六进制格式。例如这段代码:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
返回“ %a9%221a"
for "©√"
而不是 "%C2%A9%E2%88%9A"
。看起来我需要把字符串分割成字节之类的。
编辑: 这是一个 Windows 应用程序,在 System.Web
中唯一可用的项目是: AspNetHostingPermission
,AspNetHostingPermissionAttribute
和 AspNetHostingPermissionLevel
。