【发布时间】:2010-09-10 07:57:21
【问题描述】:
在 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" for "©√" 而不是 "%C2%A9%E2%88%9A"。看起来我需要将字符串拆分为字节或其他内容。
编辑:这是一个 Windows 应用程序,System.Web 中可用的唯一项目是:AspNetHostingPermission、AspNetHostingPermissionAttribute 和 AspNetHostingPermissionLevel。
【问题讨论】:
标签: c# javascript .net windows encoding