3v4l.org

run code in 300+ PHP versions simultaneously
<?php // https://stackoverflow.com/questions/35536141/converting-binary-data-to-ascii-with-php-any-possibility/35536281#35536281 function bin2ascii($input) { $output = ''; for($i=0; $i<strlen($input); $i+=8) { $output .= chr(intval(substr($input, $i, 8), 2)); } return $output; } https://stackoverflow.com/questions/6382738/convert-string-to-binary-then-back-again-using-php/6382880#6382880 function ascii2bin($input) { return array_reduce(str_split($input), fn ($acc, $i) => $acc .= decbin(ord($i))); //return array_reduce(str_split($input), fn ($acc, $i) => $acc .= str_pad(decbin(ord($i)), 8, '0', STR_PAD_LEFT)); } $i = -114514; var_dump( decbin($i)); var_dump( ltrim(decbin($i), $i < 0 ? '1' : '0')); var_dump( ($i < 0 ? '1' : '0') . ltrim(decbin($i), $i < 0 ? '1' : '0')); var_dump( bin2ascii(($i < 0 ? '1' : '0') . ltrim(decbin($i), $i < 0 ? '1' : '0'))); $o = rtrim(base64_encode(bin2ascii(($i < 0 ? '1' : '0') . ltrim(decbin($i), $i < 0 ? '1' : '0'))), '='); var_dump($o); $d = base64_decode($o); var_dump($d); $bits = ascii2bin($d); $signBit = decbin(ord($d))[0]; $paddedBits = str_pad($bits, (strlen($bits) + (strlen($bits) % 8)) / 8, $signBit, STR_PAD_LEFT); var_dump($bits); var_dump($signBit); var_dump($paddedBits); var_dump(intval($paddedBits, 2));

preferences:
26.03 ms | 417 KiB | 5 Q