この短い記事では、PHP のコンテキストにおける Base64 エンコードの基本について説明します。基本的に、PHP 関数を使用してデータを Base64 エンコード形式に変換する方法を見ていきます。
Base64 は、ASCII バイナリ データのエンコードです。文字列内の各文字は 6 ビットの情報を表します。実際にはバイナリ データを Base 64 表現で表します。復習が必要な場合は、数体系と基礎に関するこの入門書を参照してください。
Base64 エンコードの主な用途は、テキスト データを処理するために特別に設計されたプロトコルを介してバイナリ データを送信する場合に、バイナリ データを ASCII テキストにエンコードすることです。これにより、転送中にデータが損なわれないことが保証されます。具体的には、Base64 は電子メールの送信や HTML フォームでのバイナリ データのアップロードなどに使用されます。
Base64 エンコーディングのもう 1 つの一般的な用途はハッシュです。もちろん、Base64 エンコーディング自体は簡単にデコードできるため、ハッシュの生成に使用しないでください。まず、SHA などのハッシュ アルゴリズムを使用してハッシュが生成され、次に生成されたハッシュが Base64 エンコード形式に変換されて表示されます。 Base64 でエンコードされた 2 つのチェックサムの整合性を比較するのは非常に簡単です。
次のセクションでは、PHP の組み込み Base64 関数について説明します。
PHP には、Base64 エンコードを処理する 2 つの主要な関数があります。 base64_encode
関数を使用すると、データを MIME Base64 形式でエンコードできます。一方、base64_decode
関数は、MIME Base64 でエンコードされたデータをデコードするために使用されます。
それぞれの機能を詳しく紹介していきます。
base64_encode
関数の構文を見てみましょう。
base64_encode
関数に渡す必要がある唯一の引数は、MIME Base64 にエンコードするソース文字列です。
これにより、Base64 でエンコードされた文字列が返されます。 Base64 でエンコードされたデータは、元のデータよりも約 33% 多くのメモリ領域を占有することに注意してください。
base64_decode
関数の構文を見てみましょう。
最初のパラメータは、デコードされる Base64 エンコードされたデータです。
2 番目のパラメータはオプションですが、TRUE
を渡すと厳密なチェックが実行されます。これは、Base64 でエンコードされたデータに Base64 アルファベット以外の文字が含まれている場合、デコード関数は FALSE
を返すことを意味します。これは、Base64 でエンコードされた文字列の整合性をチェックするのに役立ちます。一方、無効な文字を黙って破棄したい場合は、デフォルト値である FALSE
を渡すだけです。
デコードが成功すると、関数はデコードされた文字列を返します。それ以外の場合は、FALSE
を返します。関連する文字列がエンコード前にバイナリ形式である場合、base64_decode
関数はバイナリ データを返す可能性があることに注意してください。
次のセクションでは、PHP の組み込み Base64 関数の使用方法について説明します。
このセクションでは、Base64 関数の動作を確認するためにいくつかの例を見ていきます。
通常は、base64_encode
関数を使用して、URL を含むパラメータをエンコードすることになります。
次の例で、それがどのように機能するかを簡単に理解しましょう。
リーリーご覧のとおり、base64_encode
関数を使用しない場合、生成される URL は https://www.example.com/redirect/http://www のようになります。 .example .com/some/other/url
、無効です。
前に説明したように、base64_encode
関数は、バイナリ データを ASCII 文字列に変換するときに便利です。
次の例を見てみましょう。
リーリー上記の例では、hash_hmac
関数はハッシュ化されたバイナリ データを返します。したがって、base64_encode
関数を使用せずに生成されたバイナリ データを表示することは困難です。
次の例を見てみましょう。
リーリーご覧のとおり、添付ファイルとして送信する前に、
base64_encode 関数を使用してバイナリ画像データをエンコードしました。
このようにして、PHP で Base64 関数をさまざまな目的に使用できます。
この短い記事では、日常の PHP 開発で Base64 関数を使用する方法について説明しました。
以上がPHP で Base64 エンコーディングを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。