我有一串Base64后的数据解开后是二进制的数据,求助怎么把这串二进制数据转换成十进制然后以字符串形式输出呢? 我试过bindec()这个函数转 ,但是得到的是0. 很费解啊 其他进制转换函数也试过了,但是好像都不行啊.一下是我Base64原数据
V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=
V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=
这个问题问的好,因为本身就是对二进制数据做的Base64.解开后不就还是二进制数据吗,字符串显示肯定是乱码,所以想以二进制字符串的形式输出
代码如下
$data = base64_decode('V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=');
echo $data;
base64解密后的数据可能是字符串也可能是二进制数据,这是官方说的. 我这个解出来就是二进制数据,正常输出就是乱码了. 其实我最终的目的是想将这个数据输出 但是是二进制格式 而不是一堆乱码
$data = base64_decode('V3FwMbiBTiYKVBXgO68BwSRWUXQETmISFVKmKWb2P7bgn/b49neYqikxbO8l9ZsnZ2hqHauZXEHMDmj5wKCXd59bSLmidYwdAojwUMNt4Uh3DkRa+PTAViKCYyUfrj1lmuE6pe5mI5ol/FwwZGn6Z1OTYlDo8BZLrYHhl2FKyW8=');
echo dechex(bindec($data));
echo bindec($data);输出是6呀...
base64_decode之后的数据好像不是完整的二进制数据,解不开
$t0 = current(unpack('H*',$data));
$t1 = "57717031b8814e260a5415e03baf01c124565174044e62121552a62966f63fb6e09ff6f8f67798aa29316cef25f59b2767686a1dab995c41cc0e68f9c0a097779f5b48b9a2758c1d0288f050c36de148770e445af8f4c056228263251fae3d659ae13aa5ee66239a25fc5c306469fa6753936250e8f0164bad81e197614ac96f";var_dump($t0 == $t1);boolean true