bin2hex

関数の概要

PHPの bin2hex 関数は、バイナリデータを16進数の文字列に変換するための便利な関数です。主にバイナリ形式のデータを16進数表現で扱いたい場合に使用されます。たとえば、バイナリファイルの内容や暗号化されたデータの表示、デバッグ時の可読性向上に役立ちます。

パラメータの説明

  • string $string:変換対象のバイナリ文字列。任意のバイナリデータを渡します。

戻り値

変換された16進数表現の文字列を返します。元のバイナリデータが1バイトあたり2文字の16進数表現に変換されます。

使用例

基本的な使い方

<?php
$binary = "hello";
$hex = bin2hex($binary);
echo $hex;  // 出力結果: 68656c6c6f
?>

文字列「hello」をバイナリデータとして16進数に変換しています。結果は「68656c6c6f」となり、それぞれの文字のASCIIコードが16進数で表されています。

バイナリファイルの内容を16進数で表示する

<?php
$filename = 'sample.bin';
$binaryData = file_get_contents($filename);
$hexString = bin2hex($binaryData);
echo $hexString;
?>

バイナリファイルを読み込み、その内容を16進数文字列に変換して表示します。ファイルのバイナリ内容を人間が読みやすい形で確認したいときに便利です。

暗号化データのデバッグに利用する

<?php
$encrypted = openssl_encrypt('secret', 'aes-128-cbc', 'password', OPENSSL_RAW_DATA, '1234567890123456');
echo bin2hex($encrypted);
?>

暗号化したバイナリデータを16進数に変換して表示することで、バイナリそのものを直接表示するよりも扱いやすくなります。

関連する関数

  • hex2bin:16進数文字列をバイナリに変換する関数。
  • md5:文字列のMD5ハッシュ値を16進数文字列として返す関数。
  • sha1:文字列のSHA1ハッシュ値を16進数文字列として返す関数。
  • pack:バイナリデータの生成に使う関数。

まとめ

bin2hexはPHPでバイナリデータを16進数表現の文字列に変換するときに非常に便利な関数です。デバッグやバイナリファイルの解析、暗号化データの可視化など、幅広い場面で活用できます。使い方も簡単なので、バイナリデータを扱うプログラムを書く際にはぜひ覚えておきましょう。