:C#にはJavaScriptのencodeURIComponent()と同等の機能がありますか? 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])));
返し」"©√"
の代わり"%C2%A9%E2%88%9A"
ため%a9%221a"
私はバイトか何かにアップ文字列を分割する必要があるように見えます
編集:これは、Windowsアプリケーションのためです、 System.Web
で利用可能な唯一のアイテムは以下の通りです。AspNetHostingPermission
、AspNetHostingPermissionAttribute
、およびAspNetHostingPermissionLevel
私が持っていた主な問題は、私の溶液中でのSystem.Webへの参照を持っていなかったが、私は、感謝EscapeUriStringの知りませんでした! – travis
encodeURIComponent()とは対照的に、Uri.EscapeUriString()は "+"を "%2b"にエンコードしません。代わりにUri.EscapeDataString()を使用してください。 – jwaliszko
@Steve Uri.EscapeDataStringは今日の日を保存しました;) – InferOn