Show 8 bit bytes in PHP

I was wondering if there is an easy way to display 8 bit bytes (or char) in PHP.

For example, for ASCII encoding, the character "0" should return 0011 0000

Thanks for your input!

+4
source share
3 answers

This should complete the task:

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

You can use bitwise operators to do this.

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

Output:

 int(1) int(1) int(0) int(0) int(0) int(0) int(1) int(0) 
+4
source

Another solution, including a space between four digits:

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

Source: https://habr.com/ru/post/1482852/


All Articles