// convert a base64 string to hex
function b64tohex(s) {
console.log('++++++++++++++',s)
var ret = "";
var i;
var k = 0; // b64 state, 0-3
var slop = 0;
for (i = 0; i < s.length; ++i ){
if (s.charAt(i) == b64pad) {
break;
}
var v = b64map.indexOf(s.charAt(i));
if (v < 0) {
continue;
}
if (k == 0) {
ret += int2char(v >> 2);
slop = v & 3;
k = 1;
} else if (k == 1) {
ret += int2char((slop << 2) | (v >> 4));
slop = v & 0xf;
k = 2;
} else if (k == 2) {
ret += int2char(slop);
ret += int2char(v >> 2);
slop = v & 3;
k = 3;
} else {
ret += int2char((slop << 2) | (v >> 4));
ret += int2char(v & 0xf);
k = 0;
}
}
if (k == 1) {
ret += int2char(slop << 2);
}
console.log('**********************',ret)
return ret;
}
需要解密数据 :FbRt1dqB3bFWX35cJnmh8cZ2ZNZ8O0+Iu67WoPPXIXHsRKRKkmorvH1m783pIkwjjvMBIs80R6J/2O11Kmn1i5n0356bjJl6Rth7kT1mjMnvoNojdCBKd2gyJZbYqoc7ahDYfcywbcUvgZVV1xgI8k1eNGQ10b++yXE14td2oBM=
上面的代码在纯vue中返回的字符串是完整的:
15b46dd5da81ddb1565f7e5c2679a1f1c67664d67c3b4f88bbaed6a0f3d72171ec44a44a926a2bbc7d66efcde9224c238ef30122cf3447a27fd8ed752a69f58b99f4df9e9b8c997a46d87b913d668cc9efa0da2374204a7768322596d8aa873b6a10d87dccb06dc52f819555d71808f24d5e346435d1bfbec97135e2d776a013 , 解密结果是666
但是在uniapp中执行返回的是不完整的
15b46dd5da81ddb1565f7e5c2679a1f1c67664d67c3b4f88bbaed6a0f3d72171ec44a44a926a2bbc7d66efcde9224c238ef30122cf3447a27fd8ed752a69f58b99f4df9e9b8c997a46d87b913d668cc9efa0da2374204a7768322596d8aa873b6a10d87dccb06dc52f 无法解密
请问这是为什么呢?用的都是同样的数据 ,在纯vue中的执行结果和uniapp的不一样 ,是uniapp中有什么限制吗? 并且会出现如下错误
![](http://img-cdn-tc.dcloud.net.cn/uploads/questions/20201202/2dedade8398f08ffc90f923b7a6d3e18.png)
求解答, 求解惑啊