window.btoa插入奇怪的字符

时间:2015-08-14 11:58:07

标签: javascript encoding base64

我正在将arrayBuffer中保存的图像数据转换为字符串,然后使用以下内容对其进行base64编码:

var base64EncodedImage = arrayBufferToBase64(response);

arrayBufferToBase64 = function(buffer) {
  var binary = '';
  var bytes = new Uint8Array( buffer );
  var len = bytes.byteLength;
  for (var i = 0; i < len; i++) {
     binary += String.fromCharCode( bytes[ i ] );
  }
 return window.btoa(binary);
}

当我尝试将此数据添加到图像标记的src属性时

this.imageTag.src = 'data:image/jpeg;base64,' + base64EncodedImage;

..它没有显示图像,因为我假设在base64编码中出现了一些错误。当我检查encodedData时,在字符5000附近有一个省略号(...),我认为这是导致问题的原因。什么是btoa功能在这做什么,我该如何解决?是因为arrayBuffer中的数据不好还是我在二进制转换中做错了什么?

0 个答案:

没有答案