我有一个base64编码的字符串,看起来像这样。
cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=
我尝试了base64_decode,输出如下:
råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø
我觉得我可能做错了什么。我需要帮助将base64字符串转换为二进制数组。
谢谢。
我有一个base64编码的字符串,看起来像这样。
cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=
råkq‹å©ŒÞÜæ|c›R©6Ó™œªë´Áäw¸lø
我觉得我可能做错了什么。我需要帮助将base64字符串转换为二进制数组。
谢谢。
like this
$a = base64_decode("cuVrcYvlqYze3OZ8Y5tSqQY205mcquu0GsHkgXe4bPg=");
$b = array();
foreach(str_split($a) as $c)
$b[] = sprintf("%08b", ord($c));
print_r($b);
你已经从base64_decode
中获取到了二进制数据(如果编码数据确实是二进制的),只是这些二进制数据被你输出到(浏览器?)时被解释为某些文本的编码。一个“0011010110011001”的输出本身也只是文本,它将使用某个(不同的)二进制流进行编码。与普遍认为的相反,计算机在内部并不使用1和0。如果你想以1和0的形式可视化二进制数据,你需要自己进行二进制/文本转换。虽然这通常是一件毫无意义的事情。
你可能已经做对了。你的错误在于期望二进制数据被表示为“0100101010”。