Escape と encodeURI / encodeURIComponent: 使用上の考慮事項
Web サーバーに送信するクエリ文字列をエンコードする場合、どちらを使用するかを選択します。 escape() および encodeURI() / encodeURIComponent() は、 application.
escape()
escape() は、使用が推奨されなくなったレガシー関数です。望ましくない特性のため、encodeURI() および encodeURIComponent() が優先され、非推奨になりました。具体的には、escape() は @*_ -./ を除く特殊文字をエンコードし、コード単位値が 0xFF 以下の文字に対して 2 桁の 16 進エスケープ シーケンスを使用します。 RFC3986 で定義されているように、この形式はクエリ文字列では許可されません。
encodeURI()
encodeURI() は、動作する URL が必要な場合に使用する必要があります。スペースや英数字以外の文字など、URI 仕様の一部ではない文字をエンコードします。ただし、encodeURI() は ' 文字をエンコードしません。URL パラメーターの値をエンコードする場合は、
encodeURIComponent()
encodeURIComponent() を使用する必要があります。スペースや英数字以外の文字など、URI コンポーネントでは無効な文字をエンコードします。さらに、encodeURIComponent() は ' 文字をエンコードしません。
使用上のガイドライン
以上がencodeURI() と encodeURIComponent(): URL エンコーディングにどちらを使用する場合?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。