我有64位编码的字符串,看起来像这样。
cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=
我试过base64_decode,输出是。
råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø
我想我可能做错了什么。我感谢任何帮助将base64字符串转换为二进制数组。
谢谢
答案 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”。