6

URLEncodedFormat()有効なURL文字をエスケープする理由は何ですか?

有効な文字:

- _ . ! ~ * " ( )

CF8 Docは、「[ URLEncodedFormat()escapes]非英数字と同等の16進エスケープシーケンス」と述べています。しかし、なぜ有効なURL文字をエスケープするのですか?

4

3 に答える 3

11

それらは有効ですが、プログラミング言語に文字列をurlエンコードするように依頼すると、英数字以外のすべての文字が16進数に相当する文字に変換されるのはごく普通のことのようです。

ASPのServer.URLEncode()は同じことを行い、php urlencode()も-と_を除いて同じことを行います。また、javascriptでは、encodeURIComponent()関数は、英数字以外のすべての文字を16進数に相当するものにエンコードします。

これは、サーバー要求を形成するためにユーザー入力を使用するときにすべての英数字以外の数字をエンコードして、予期しない事態が発生しないようにすることをお勧めします。

于 2009-06-29T01:12:35.010 に答える
1

有効なURL文字のエンコードがエラーまたは問題を引き起こしていますか?

1つの問題は、そうしないことによって、エンコードされていない文字を含むリンクを電子メールに埋め込んだ場合、電子メールソフトウェアがリンクを2行に分割することを決定する可能性があることです。

ただし、完全にエンコードされたURLを使用すると、この可能性は大幅に減少します。しかしそれを見るただ一つの方法。

于 2009-06-29T17:35:56.523 に答える
0

少なくとも「URLをアンカータグのリンクとして使用するときにエンコードしておくと便利だ」という場合はわかりました。

于 2009-06-30T10:21:58.980 に答える