1バイトをバイナリでファイルに書き込もうとしています。
私は文字列としてバイナリバイト(8ビット)を持っています、例えば"01100101"
これをPHPで1バイトとして書き込むにはどうすればよいですか?私fopen
が"wb"
それを持っているとき、それはまだASCIIでそれを書き01100101
、ファイルに入れます。プロセス全体がどのように機能するか混乱するかもしれません。
私pack()
はあなたが探しているものだと思います。
function bin2bstr($input)
// Convert a binary expression (e.g., "100111") into a binary-string
{
if (!is_string($input)) return null; // Sanity check
// Pack into a string
return pack('H*', base_convert($input, 2, 16));
}
$number = bindec("01100101");
$number = 0b01100101; // better
表記 0b... は 2 進数を表します。
file_put_contents('aa',pack('ifA5',1001,25.5,'asdfg'));
var_dump(unpack('iint/ffloat/A5lkl',file_get_contents('aa')));