我有一串Base64后的数据解开后是二进制的数据,求助怎么把这串二进制数据转换成十进制然后以字符串形式输出呢?   我试过bindec()这个函数转 ,但是得到的是0. 很费解啊    其他进制转换函数也试过了,但是好像都不行啊.一下是我Base64原数据
V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=

解决方案 »

  1.   


    这个问题问的好,因为本身就是对二进制数据做的Base64.解开后不就还是二进制数据吗,字符串显示肯定是乱码,所以想以二进制字符串的形式输出
      

  2.   


    代码如下 
    $data = base64_decode('V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=');

    echo $data;
    base64解密后的数据可能是字符串也可能是二进制数据,这是官方说的. 我这个解出来就是二进制数据,正常输出就是乱码了. 其实我最终的目的是想将这个数据输出   但是是二进制格式  而不是一堆乱码
      

  3.   


    $data = base64_decode('V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=');
    echo dechex(bindec($data));
      

  4.   

    $data = base64_decode('V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=');
    echo bindec($data);输出是6呀...
      

  5.   

    输出是6 .  所以我能很直接判断转换是有问题的....      我在其他语言转换都没问题能够得到正确数据,问题就是出现在这个转换上  默认这串数据以十六进制输出是57717031b8814e260a5415e03baf01c124565174044e62121552a62966f63fb6e09ff6f8f67798aa29316cef25f59b2767686a1dab995c41cc0e68f9c0a097779f5b48b9a2758c1d0288f050c36de148770e445af8f4c056228263251fae3d659ae13aa5ee66239a25fc5c306469fa6753936250e8f0164bad81e197614ac96f  所以不对啊 
      

  6.   

    要的是 decode 之前的内容.也就是没有经过code 的原数据.
      

  7.   

    很抱歉
    base64_decode之后的数据好像不是完整的二进制数据,解不开
      

  8.   

    $data = base64_decode('V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=');
        
    $t0 = current(unpack('H*',$data));
    $t1 = "57717031b8814e260a5415e03baf01c124565174044e62121552a62966f63fb6e09ff6f8f67798aa29316cef25f59b2767686a1dab995c41cc0e68f9c0a097779f5b48b9a2758c1d0288f050c36de148770e445af8f4c056228263251fae3d659ae13aa5ee66239a25fc5c306469fa6753936250e8f0164bad81e197614ac96f";var_dump($t0 == $t1);boolean true