在JavaScript中:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
在C#应用程序中是否有相应的功能?我使用以下方法来转义HTML字符:
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"
,而不是"%C2%A9%E2%88%9A"
。看起来我需要将字符串拆分为字节或其他内容。编辑:这是用于Windows应用程序的,只能使用 System.Web
中提供的这些项:AspNetHostingPermission
、AspNetHostingPermissionAttribute
和 AspNetHostingPermissionLevel
。