我有一个字符串:
$str = "01110001";
和我想改变它的类型为二进制:
$bin = (binary) $str;
(因为我想逆它)但是,当我尝试var_dump($bin)
时,我得到:
string(8) "01110001"
谁能告诉我我错过了什么?
二进制不是数据类型。因此你不能用它来铸造。
但是,您可以使用bindec函数将二进制表示为十进制。
$bin = (string)bindec($str);
注意:每个数字都以二进制形式存储在内存中。所以你不需要把它转换成二进制。只要用bindec
,它就会把它转换成数字。然后以4字节整数的形式存储。如果是字符串,那么每个数字将使用8个字节