[解決済み] 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が使用する正しい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
.
どのように解決するのですか?
Uri.EscapeDataString
または
HttpUtility.UrlEncode
は、URLの一部として意図された文字列をエスケープするための正しい方法です。
例えば、次のような文字列を考えてみましょう。
"Stack Overflow"
:
-
HttpUtility.UrlEncode("Stack Overflow")
-->"Stack+Overflow"
-
Uri.EscapeUriString("Stack Overflow")
-->"Stack%20Overflow"
-
Uri.EscapeDataString("Stack + Overflow")
--> また、エンコード"+" to "%2b"
---->Stack%20%2B%20%20Overflow
URLの実際の部分として使用される場合、最後の部分だけが正しいです(クエリ文字列パラメータの1つの値とは異なります)。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] printf/String.Formatに相当するJavaScriptの機能
-
[解決済み] encodeURI / encodeURIComponentの代わりにescapeを使用するのはどのような場合ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】EscapeUriStringとEscapeDataStringの違いは何ですか?