バイナリデータと文字列の相互変換

技術関係

なんとなく機会がありそうで無い感じ。あまり意味は無い
※ 当たり前だが、純粋なバイナリファイルを16進文字列に変換するとデータ量は増える

<?php
// この例はバイナリのファイルを、文字列を介して複製しているだけ

// バイナリファイルを開く
$file = "samplh.jpg";
$data = implode("", file($file) );
// バイナリを16進の文字列に変換する
$str = bin2hex($data);
// 文字列をバイナリに変換する
$bin = pack("H*", $str);
// 文字列から戻したバイナリをファイルに書きこむ(実質複製)
$fp = fopen("new_" . $file, "w");
fwrite($fp, $bin);
fclose($fp);

?>

コメント

タイトルとURLをコピーしました