Мне было интересно, есть ли простой способ отобразить 8 бит байта (или char) в PHP.
Например, для кодирования 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, ' ');