JavaScript の場合:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
C# アプリケーションに相当するものはありますか? 私が使用したHTML文字をエスケープするために:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
しかし、一致を JS が使用する正しい 16 進数形式に変換する方法がわかりません。たとえば、このコード:
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
です。