我正在将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中的数据不好还是我在二进制转换中做错了什么?