base64、字节流、字符串转换

306 阅读1分钟
var encodeStr = 'o8eIqkgCKtp9p8SACJVZtw==';

//base64 转字节流
function base64toByte(base64){
 // 将base64转为Unicode规则编码
 var bstr = atob(base64),  
 n = bstr.length,  
 u16arr = new Uint16Array(n); 
 while (n--) {  
       u16arr[n] = bstr.charCodeAt(n) // 转换编码后才可以使用charCodeAt 找到Unicode编码
   }  
 return Bytes2Str(u16arr) 
}

//字节数组转16进制字符串
function Bytes2Str(arr)
{ 
 var str = "";
 for(var i=0; i<arr.length; i++)
  {
 var tmp = arr[i].toString(16);
 if(tmp.length == 1)
      { 
 tmp = "0" + tmp;
      }
 str += tmp;
  }
 return str;
}
base64toByte(encodeStr)