phpでは、rawurlencodeとrawurlencodeは両方とも文字をエンコードします。知る必要がある友人はそれを参照してください。 urlencode の目的は、文字列をエンコードし、元の文字列内の「-_」を除くすべての非英数字をパーセント記号 (%) とその後に続く 2 つの 16 進数に置き換えることです。ただし、歴史的な理由によるものです。スペースが + 記号に置き換えられるということです。 Rawurlencode は実際には urlencode と同じであり、文字列のエンコードにも使用されます。唯一の違いは、RFC1738 エンコードを使用することです。つまり、スペースは %20 に置き換えられます。
対応するデコード関数は urldecode と rawurldecode です。公式 Web サイトの手順を参照すると、urldecode デコードによって与えられたエンコード文字列内の %## とプラス記号 ('+') はスペース文字にデコードされます。 rawurldecode は文字列内のパーセント記号 (%) をデコードします。 2 ビットの 16 進数。 2 つの違いがあります。まず、urldecode はパーセント記号 (%) の後の任意の 2 文字をデコードしますが、rawurldecode はパーセント記号 (%) のみをデコードします。 2 番目の 16 進数の文字 (0-9A-F) がデコードされ、urldecode は + 記号をスペースにデコードします。
PHP の 2 つの関数の公式の紹介を見てみましょう。
urlencode — URL 文字列をエンコードします
バグを報告する 説明
文字列 urlencode (文字列 $str)
この機能を使用すると、文字列をエンコードして URL のリクエスト部分で使用することが簡単になり、次のページに変数を渡すことも簡単になります。
ストラ
エンコードする文字列。
-_ を除くすべての非英数字文字がパーセント記号 (%) に置き換えられ、その後に 2 つの 16 進数が続き、スペースがプラス記号 (+) としてエンコードされた文字列を返します。このエンコーディングは、WWW フォーム POST データのエンコーディングと同じであり、application/x-www-form-urlencoded メディア タイプと同じエンコーディングです。歴史的な理由により、このエンコードは、スペースをプラス記号 (+) としてエンコードする点で RFC1738 エンコード (rawurlencode() を参照) とは異なります。
コードをコピー | |
例 #1 urlencode() の例 echo ''; ?>
例2 urlencode() と htmlentities() の例 echo ''; ?> |
rawurlencode — RFC 1738 に従って URL をエンコードします
バグを報告する 説明
文字列 rawurlencode ( string $str )
» RFC 3986 エンコーディングに従って指定された文字。
ストラ
エンコードする URL。
バグの戻り値を報告する
-_ を除くすべての非英数字をパーセント記号 (%) に置き換えた文字列を返します。その後に 2 桁の 16 進数が続きます。これは、» RFC 3986 で説明されているエンコーディングであり、リテラル文字が特別な URL 区切り文字として解釈されないように保護し、トランスポート メディア (一部のメール システムなど) で使用される文字変換によって URL 形式が文字化けしないようにすることを目的としています。
例
コードをコピー | |
例 #1 FTP URL にパスワードを含める echo ''; ?> 上記のルーチンは次のように出力します:
|