ホームページ  >  記事  >  バックエンド開発  >  PHP文字列をバイトに変換する方法

PHP文字列をバイトに変換する方法

PHPz
PHPzオリジナル
2023-03-29 10:11:261185ブラウズ

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 サイトの他の関連記事を参照してください。

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