2

わかりません。なぜServer.UrlEncode()&を使用するのServer.UrlDecode()ですか?! QueryString では URL に何かが表示されますが、なぜそれらをエンコードまたはデコードする必要があるのでしょうか?

4

3 に答える 3

5

URLEncode メソッドは、エスケープ文字を含む URL エンコード規則を指定された文字列に適用します。

URLEncode は次のように文字を変換します。

スペース ( ) はプラス記号 (+) に変換されます。

英数字以外の文字は、16 進数表現にエスケープされます。

HttpServerUtility.UrlDecodeまた、エンコードされた文字列をデコードして元の文字列を返すメソッドについて話していると思います。

文字列を URL デコードし、デコードされた文字列を返します

URL エンコーディングにより、すべてのブラウザーが URL 文字列内のテキストを正しく送信できるようになります。クエスチョン マーク (?)、アンパサンド (&)、スラッシュ マーク (/)、およびスペースなどの文字は、一部のブラウザーで切り捨てられたり、破損したりする場合があります。その結果、これらの文字はタグまたはクエリ文字列でエンコードする必要があります。これらの文字列は、ブラウザーが要求文字列で再送信できます。

UrlDecode は、実行時に ASP.NET アプリケーションから HttpUtility.UrlDecode メソッドにアクセスするための便利な方法です。内部的には、UrlDecode は HttpUtility.UrlDecode を使用して文字列をデコードします。

より詳しい情報 ...

Server.URLEncode

HttpServerUtility.UrlDecode

于 2012-05-18T14:08:27.693 に答える
2

ここから取られる

URLEncode は次のように文字を変換します。

Spaces ( ) are converted to plus signs (+).

Non-alphanumeric characters are escaped to their hexadecimal representation.
<%Response.Write(Server.URLEncode("http://www.microsoft.com")) %> 

produces the following output:

http%3A%2F%2Fwww%2Emicrosoft%2Ecom  
于 2012-05-18T14:08:57.130 に答える
1

一部の文字は URL では使用できないため、エンコードする必要があります。これは、不正な文字のリストで見つけた最初のヒットでした。

于 2012-05-18T14:04:16.663 に答える