PHP中字节/二进制数组的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中字节/二进制数组的字符串相关的知识,希望对你有一定的参考价值。

如何在php中将字符串转换为二进制数组?

答案

我认为你要求相当于Perl pack / unpack函数。如果是这种情况,我建议你看一下PHP pack / unpack函数:

另一答案

如果您尝试访问字符串的特定部分,则可以像处理数组一样对待它。

$foo = 'bar';
echo $foo[0];

输出:b

另一答案

在PHP中没有二进制数组这样的东西。所有需要字节流的函数都在字符串上运行你想做什么到底是什么?

另一答案

假设您要将$ stringA =“Hello”转换为二进制。

首先使用ord()函数获取第一个字符。这将为您提供十进制字符的ASCII值。在这种情况下,它是72。

现在使用dec2bin()函数将其转换为二进制。然后采取下一个功能。你可以在http://www.php.net找到这些函数的工作原理。

或者使用这段代码:

<?php
    // Call the function like this: asc2bin("text to convert");
    function asc2bin($string)
    {
        $result = '';
        $len = strlen($string);
        for ($i = 0; $i < $len; $i++)
        {
            $result .= sprintf("%08b", ord($string{$i}));
        }
        return $result;
    }

    // If you want to test it remove the comments
    //$test=asc2bin("Hello world");
    //echo "Hello world ascii2bin conversion =".$test."<br/>";
    //call the function like this: bin2ascii($variableWhoHoldsTheBinary)
    function bin2ascii($bin)
    {
        $result = '';
        $len = strlen($bin);
        for ($i = 0; $i < $len; $i += 8)
        {
            $result .= chr(bindec(substr($bin, $i, 8)));
        }
        return $result;
    }
    // If you want to test it remove the comments
    //$backAgain=bin2ascii($test);
    //echo "Back again with bin2ascii() =".$backAgain;
?>

以上是关于PHP中字节/二进制数组的字符串的主要内容,如果未能解决你的问题,请参考以下文章

web代码片段

C# 字节数组各进制字符串数据互转

在java中如何把字节数组存储到数据库?

如何检查字节数组是否包含Java中的Unicode字符串?

在 Java 中,如何将字节数组转换为十六进制数字字符串,同时保持前导零? [复制]

在 Java 中,如何将字节数组转换为十六进制数字字符串,同时保持前导零? [复制]