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

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

PHPz
PHPzオリジナル
2023-04-18 10:18:10810ブラウズ

PHP では、pack() 関数を使用してバイト配列を文字列に変換したり、implode() 関数を使用して指定された区切り文字で連結された文字列に変換したりできます。

pack() 関数の使用形式は次のとおりです:

$byteArray = array(0x68, 0x65, 0x6c, 0x6c, 0x6f);
$str = pack('C*', ...$byteArray);
echo $str; //输出:hello

上記のコードでは、pack() 関数を呼び出して 'C* を渡すことにより、$byteArray はバイト値を含む配列になります。 ' 文字列をフォーマットし、$byteArray を文字列に変換します。 「C」は符号なしバイト (つまり、8 ビット符号なし整数) によるパックを意味し、「*」はすべての要素のパックを意味します。 ...$byteArray を使用して、$byteArray の要素を関数パラメータとして渡します。

implode() 関数は次のように使用できます:

$byteArray = array(0x68, 0x65, 0x6c, 0x6c, 0x6f);
$str = implode('', array_map('chr', $byteArray));
echo $str; //输出:hello

この例では、array_map() 関数が $byteArray の各要素に適用され、chr() 関数は次のように使用されます。バイトは対応する ASCII 文字に変換されます。次に、空の文字列を区切り文字として使用して、各文字を文字列に連結します。

さらに、PHP 7.2.0 以降では、hex2bin() 関数を使用して 16 進文字列をバイナリ データに変換できます。

$str = '68656c6c6f';
$byteArray = hex2bin($str);
echo $byteArray; //输出:hello

要するに、PHP ではバイト配列を文字列に変換する方法がたくさんあり、自分に合った方法を選択できます。

以上がPHPでバイト配列を文字列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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