在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
。