C# での URL エンコード
URL を処理する場合、多くの場合、特定の文字が正しく送信および解釈されるようにエンコードする必要があります。これは、スペースや特殊記号などの特定の文字は URL 内で特別な意味を持ち、エンコードしないと問題が発生する可能性があるためです。
.NET は、次のようないくつかの URL エンコード方法を提供します。
次の表は、.NET のさまざまなエンコード方式を比較しています。
编码方法 | 未编码 | HttpUtility.UrlEncode | HttpUtility.UrlEncodeUnicode | HttpUtility.UrlPathEncode | Uri.EscapeDataString | Uri.EscapeUriString | HtmlEncode | HtmlAttributeEncode | 十六进制转义 |
---|---|---|---|---|---|---|---|---|---|
A | A | A | A | A | A | A | A | A | A |
B | B | B | B | B | B | B | B | B | B |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
空格 | 空格 | 空格 | 空格 | 空格 | 空格 | 空格 | |||
! | ! | ! | ! | ! | ! | ! | ! | ! | ! |
" | " | " | " | " | " | " | " | " | " |
# | # | # | # | # | # | # | # | # | # |
$ | $ | $ | $ | $ | $ | $ | $ | $ | $ |
% | % | % | % | % | % | % | % | % | % |
適切なエンコーディング方法を選択すると、特定のコンテキストとニーズに依存します。たとえば、クエリ文字列をコーディングする必要がある場合は、必要なすべての文字を正しくエンコードできるため、Uri.EscapeDataString
を使用する必要があります。一方、道路セグメントをエンコードする必要がある場合は、一部の文字のみをエンコードし、パスセグメント内の予約文字を許可するため、Uri.EscapeUriString
を使用する必要があります。
以上がC#を使用して、URLが異なる文字セットを効率的にエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。