PHP は、Web 開発、コマンド ライン スクリプティング、その他の分野で使用されるオープン ソースのサーバー側スクリプト言語です。文字列とバイト間の変換は、PHP では非常に一般的な操作です。この記事では、PHPで文字列をバイトに、バイトを文字列に変換する方法を紹介します。
1. 文字列をバイトに変換する
PHP では、pack() 関数を使用して文字列をバイトに変換できます。
pack() 関数の構文は次のとおりです。
string pack ( string $format , mixed $args [, mixed $... ] )
その中で、$format
はパッケージ化メソッドです (つまり、受信パラメータは次のようにパックされます)。指定された形式に従ったバイナリ文字列)、$args
はパックされるパラメータです。
具体的には、$format
パラメーターは、データのパッケージ化方法を指定するために使用される形式文字列です。たとえば、すべてのパラメータを 16 進文字列に変換するには、H*
を使用します。
文字列をバイトに変換するサンプル コードを次に示します。
$str = 'Hello, world!'; $bytes = pack('H*', bin2hex($str));
上記のコードでは、文字列 $str
が 16 進文字列に変換され、パックが使用されます。 () 関数を使用してバイトにパックします。
2. バイトを文字列に変換する
PHP では、unpack() 関数を使用してバイトを文字列に変換できます。
unpack() 関数の構文は次のとおりです。
array unpack ( string $format , string $data )
このうち、$format
はアンパック メソッド (つまり、バイナリ文字列をデータにアンパックする) です。指定された形式に従って)、 $data
は解凍されるデータです。
具体的には、$format
パラメーターは、データの解凍方法を指定するために使用される形式文字列です。たとえば、バイナリ データを 16 進文字列に変換するには、H*
を使用します。
バイトを文字列に変換するサンプル コードを次に示します。
$bytes = "\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21"; $str = unpack('H*', $bytes)[1];
上記のコードでは、バイト $bytes
が 16 個の 16 進文字列にアンパックされ、 bin2hex() 関数を使用して文字列に変換します。 unpack()
関数の戻り値は配列であるため、解凍された文字列を取得するには [1]
を使用する必要があることに注意してください。
概要
PHP では、文字列とバイト間の変換は非常に一般的な操作です。この記事では、pack() 関数を使用して文字列をバイトに変換する方法と、unpack() 関数を使用してバイトを文字列に変換する 2 つの方法を紹介します。実際の開発では、ニーズに応じて適切な変換方法を柔軟に選択できます。
以上がPHP文字列をバイトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。