How to convert binary digits to a byte array in PHP

1 Answer

0 votes
function binaryToByteArray($binaryString) {
    if (strlen($binaryString) % 8 !== 0) {
        throw new Exception("Binary string length must be a multiple of 8.");
    }

    $byteArray = [];
    for ($i = 0; $i < strlen($binaryString); $i += 8) {
        $byteSegment = substr($binaryString, $i, 8);
        $byteValue = bindec($byteSegment);
        $byteArray[] = $byteValue;
    }

    return $byteArray;
}

$binaryString = "10101110111010101110101001001011";

try {
    $byteArray = binaryToByteArray($binaryString);
    echo "Byte List: " . implode(" ", $byteArray) . "\n";
} catch (Exception $e) {
    echo "Error: " . $e->getMessage() . "\n";
}



/*
run:

Byte List: 174 234 234 75

*/

 



answered Aug 4, 2025 by avibootz
...