ArrayBuffer转为base64
时间: 2023-07-06 13:09:06 浏览: 56
可以使用以下代码将 ArrayBuffer 转换为 base64 编码:
```javascript
function arrayBufferToBase64(buffer) {
let binary = '';
const bytes = new Uint8Array(buffer);
const len = bytes.byteLength;
for (let i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
return window.btoa(binary);
}
```
使用示例:
```javascript
const myArrayBuffer = new ArrayBuffer(8);
const base64String = arrayBufferToBase64(myArrayBuffer);
console.log(base64String);
```
相关问题
用vue3.0吧图片转为base64
可以使用以下代码将图片转为base64:
```javascript
// 读取图片文件
const file = await fetch('path/to/image.jpg')
const buffer = await file.arrayBuffer()
// 转为base64
const base64 = btoa(
new Uint8Array(buffer)
.reduce((data, byte) => data + String.fromCharCode(byte), '')
)
```
注意,这段代码使用了ES6的async/await语法,需要在支持该语法的环境下运行。
php blob转base64二进制,Arraybuffer,Blob,Base64编码
以下是将 PHP 中的 Blob 数据转换为 Base64 编码的二进制数据、ArrayBuffer 对象和 Blob 对象的示例代码:
1. 将 Blob 转为 Base64 编码的二进制数据:
```php
$blob = "blob data";
$base64_binary = base64_encode($blob);
```
2. 将 Blob 转为 ArrayBuffer 对象:
```php
$blob = "blob data";
$buffer = new SplFixedArray(strlen($blob));
for ($i = 0; $i < strlen($blob); $i++) {
$buffer[$i] = ord($blob[$i]);
}
$arrayBuffer = $buffer->toArray();
```
3. 将 Blob 转为 Blob 对象:
```php
$blob = "blob data";
$blobObject = new \stdClass();
$blobObject->data = $blob;
$blobObject->type = "application/octet-stream";
```
注意:在将 Blob 转为 ArrayBuffer 或 Blob 对象时,需要使用 SplFixedArray 对象来处理二进制数据。然后将 SplFixedArray 对象转为普通数组即可生成 ArrayBuffer 对象。而在将 Blob 转为 Blob 对象时,需要将数据存储在对象的 data 属性中,并指定类型。