PHP では、pack 関数と unpack 関数を使用してバイナリデータを扱うことができます。ここでは、そのサンプルコードを掲載しています。
テキストファイルのデータもバイナリデータではなかろうか・・・
スポンサーリンク
バイナリデータの設定と取得
バイナリデータを変数に設定して、それをバイナリデータ ( 1バイトごとの配列 ) として取得するサンプルコードです。
// バイナリデータを変数に格納する(EUC-JP の全角スペースを3つ)
$space = pack("n*", 0xa1a1, 0xa1a1, 0xa1a1);
// 1バイトずつバイナリデータとして取り出す
$bin_data = unpack("C6chars", $space);
var_dump($bin_data);
// array
// 'chars1' => int 161 (0xa1)
// 'chars2' => int 161 (0xa1)
// 'chars3' => int 161 (0xa1)
// 'chars4' => int 161 (0xa1)
// 'chars5' => int 161 (0xa1)
// 'chars6' => int 161 (0xa1)
echo count($bin_data);
// 6
// バイナリデータを1バイトずつ16進で出力する
for($i=1; $i<=count($bin_data); $i++) {
echo '0x' . dechex($bin_data["chars$i"]);
}
// 出力結果
//-------------------------------------
// 0xa1
// 0xa1
// 0xa1
// 0xa1
// 0xa1
// 0xa1
//