[PHP-users 10451] Re: エンコード関数の使い分けはある?

おかむら php-users@php.gr.jp
Wed, 02 Oct 2002 11:22:19 +0900


> PHP関数には
> 
> urlencode()
> base64_encode()
> 
> の2種がありますが、明確な使い分けの決まりは
> あるのでしょうか?

urlエンコードは、一般的なフォームデータの受け渡しに使われるエンコードで、
WEBブラウザはサーバーに対してこのエンコード方式を使います。
よくCGIのURLで http://.../sample.cgi?v=%8A%DC+%E3 ....などとなってるアレです。
1バイトの文字を"%"と16進数で表記するので2バイト文字ばかりなら200%増です。

base64はメールの添付ファイルや
日本語のサブジェクトで同じみのエンコード方法です。
HTTPでもファイルアップロードの際にはこれでデータが送られます。
イメージ的には8ビットのデータの連続を、7ビットで区切っていくようなもんです
(コントロール文字等を省くので厳密には違います)。

------- ------- ------- ------- ------- ------- ------- -------
おかむら
okamura@ntciis.ne.jp