用PHP转换字符串到二进制和二进制到字符串

621 阅读1分钟

在这个例子中,我们要用PHP将字符串转换成二进制,将二进制转换成字符串。 方法

function strigToBinary($string)
{
    $characters = str_split($string);

    $binary = [];
    foreach ($characters as $character) {
        $data = unpack('H*', $character);
        $binary[] = base_convert($data[1], 16, 2);
    }

    return implode(' ', $binary);    
}

function binaryToString($binary)
{
    $binaries = explode(' ', $binary);

    $string = null;
    foreach ($binaries as $binary) {
        $string .= pack('H*', dechex(bindec($binary)));
    }

    return $string;    
}

测试

$string = 'inanzzz';
echo 'STRING: '.$string.PHP_EOL;
echo 'BINARY: '.$binary = strigToBinary($string).PHP_EOL;
echo 'STRING: '.binaryToString($binary).PHP_EOL;

结果

STRING: inanzzz
BINARY: 1101001 1101110 1100001 1101110 1111010 1111010 1111010
STRING: inanzzz