如何使用php将base64字符串转换为二进制数组

时间:2010-09-19 10:30:06

标签: php cakephp binary base64

我有64位编码的字符串,看起来像这样。

cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=

我试过base64_decode,输出是。

råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø

我想我可能做错了什么。我感谢任何帮助将base64字符串转换为二进制数组。

谢谢

2 个答案:

答案 0 :(得分:5)

像这样

$a = base64_decode("cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=");
$b = array();
foreach(str_split($a) as $c)
    $b[] = sprintf("%08b", ord($c));
print_r($b);

答案 1 :(得分:0)

你已经 base64_decode获取二进制数据(如果编码数据实际上是二进制的),只有这个二进制数据被解释为某些文本的编码,无论你是什么输出到(浏览器?)。 “0011010110011001”输出本身也只是文本,它将使用某些(不同的)二进制流进行编码。与普遍认为相反,计算机不能在内部使用1和0。如果你想以1和0的形式可视化二进制数据,你需要自己进行二进制/文本转换。不过,通常这是一件毫无意义的事情。

你可能已经做了正确的事情。你的错误在于期望二进制数据表示为“0100101010”。