在PHP中显示一个字节的8位


Show the 8 bits of a byte in PHP

我想知道是否有一种简单的方法可以在PHP中显示字节(或字符)的8位。

例如,对于ASCII编码,字符'0'应该返回0011 0000

感谢您的输入!

这应该可以完成工作:

$bin = decbin(ord($char));
$bin = str_pad($bin, 8, 0, STR_PAD_LEFT);

可以使用位运算符

$a='C';
for ($i=0; $i<8; $i++) {
  var_dump((ord($a) & (1<<$i))>>$i);
}
输出:

int(1)
int(1)
int(0)
int(0)
int(0)
int(0)
int(1)
int(0)

还有一个解决方案,这包括4位数之间的空格:

$char = 0;
echo chunk_split(sprintf('%08b', ord($char)), 4, ' ');