PHP開発では、文字列をバイナリに変換することは一般的な要件です。ファイルの処理、データの暗号化、ネットワーク伝送の実行など、バイナリ形式が重要な役割を果たします。 PHPは、文字列とバイナリデータの間の変換を実装するためのさまざまな方法を提供します。以下には、一般的に使用される3つの変換方法が導入されます。
PHPのパック関数は、データをバイナリ文字列にパッケージ化できます。異なる形式の文字を使用することにより、パッケージ化する方法を制御できます。文字列をバイナリに変換する例は次のとおりです。
この例では、パック関数はフォーマット文字 'a*'で使用され、文字列をバイナリデータに変換します。その後、BIN2HEX関数は、出力のために16進形式に変換します。
各文字のASCII値をバイナリに変換する必要がある場合は、ORD関数を使用して文字のASCIIコードを取得し、SPRINTF関数を介してバイナリ形式に変換できます。実装するコードは次のとおりです。
この方法では、SprintFを使用して、文字列内の各文字をループし、ASCII値を取得し、これらの値を8ビットバイナリ文字列に変換し、最終的にそれらを出力に連結します。
非ASCII文字(中国語など)を含む文字列の場合、MB_ORDおよびDECBIN関数を処理に使用できます。漢字を含むバイナリ変換の処理の例は次のとおりです。
このメソッドは、最初に文字列を文字配列に分解し、MB_ORDを使用して各文字のユニコード値を取得し、最後に各ユニコード値をDeDbinを介してバイナリ表現に変換します。
PHPでは、文字列をバイナリに変換する方法がいくつかあります。 Pack関数、Sprintf関数を備えたORD関数、およびMB_ORDおよびDECBIN関数を使用して、3つの一般的な方法を紹介します。ニーズに応じて、最適な方法を選択できます。
メソッドに関係なく、コアのアイデアは、文字列の各文字を反復し、対応するバイナリ形式に変換することです。これにより、その後のデータ処理、送信、暗号化操作に便利さが提供されます。