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

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

PHPz
リリース: 2023-04-18 13:45:04
オリジナル
879 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート