ホームページ  >  記事  >  バックエンド開発  >  PHP ソース コード 23 についての簡単な説明: urlencode 関数について

PHP ソース コード 23 についての簡単な説明: urlencode 関数について

不言
不言オリジナル
2018-06-28 17:53:432830ブラウズ

この記事では、主に PHP のソース コードについて 23 個紹介します。urlencode 関数については、必要な場合に参考にしてください。 PHP のソースコードについて簡単に説明します。

## しばらく PHP のソースコードを読んでいませんでしたが、以前購入した本をいくつか読んでいます。一度は読み込まれたものですが、1 年後には違うものになっていると感じます。

urlencode 関数は、開発プロセス中によく使用され、文字列エンコードに作用し、URL のリクエスト部分に使用されます。

urlencode 関数は URL をエンコードするために使用されます。 string

string urlencode (string str)

-_ を除くすべての英数字以外の文字は、その後に続くパーセント記号 (%) に置き換えられます。 2 桁の 16 進数で指定され、スペースはプラス記号 ( ) としてエンコードされます。このエンコーディングは、WWW フォーム POST データのエンコーディングと同じであり、application/x-www-form-urlencoded メディア タイプと同じエンコーディングです。歴史的な理由により、このエンコーディングは、スペースをプラス記号 ( ) としてエンコーディングする点で RFC1738 エンコーディング (rawurlencode() を参照) とは異なります。
standard/url.c ファイルの 493 行目に、この関数の実装が表示されます。

 out_str = php_url_encode(in_str, in_str_len, &out_str_len);RETURN_STRINGL(out_str, out_str_len, 0);

php_url_encode 関数を見ると、#ifndef CHARSET_EBCDIC があるため、長い間苦労しました。コンパイルの判断、私は常に #ifndef を #ifdef と見なしていました。これは、

php_url_encode 関数が文字列全体を走査し、各文字を置換するプロセスであることを理解するのが奇妙です、

For を除く - すべての非英数字_ 以外の文字は、パーセント記号 (%) とそれに続く 2 つの 16 進数に置き換えられます。

コンパイル時に EBCDIC エンコードの処理が行われます。


スペースはプラス記号 () (
) としてエンコードされます。 if (c == ' ') {

*to = ' ';

}

上記がこの記事の全内容です。皆様のお役に立てれば幸いです。関連コンテンツの詳細については、PHP 中国語 Web サイトに注目してください。

# PHP ソース コード 22: array_splice 関数についての簡単な説明

#

以上がPHP ソース コード 23 についての簡単な説明: urlencode 関数についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。