前端怎么把二进制流转换成base64
时间: 2024-09-30 09:16:37 浏览: 31
前端将二进制流转换为Base64编码通常是为了在URL、HTTP头或者存储数据时能够以文本形式传输非文本数据。这通常是通过JavaScript完成的。以下是一个简单的步骤:
1. **获取二进制数据**: 首先,你需要从`Blob`、`File`对象或其他能提供二进制数据的源获取数据。
```javascript
let binaryData = new Blob([yourBinaryData], {type: 'application/octet-stream'});
```
2. **创建`Uint8Array`**: `Blob`可以直接转换为`Uint8Array`,它是操作二进制数据的标准方式。
```javascript
let byteArray = new Uint8Array(binaryData);
```
3. **转换为Base64**: 使用`window.atob`函数将`Uint8Array`转换回原始字符串,然后再次使用`btoa`函数将其编码为Base64。
```javascript
let base64String = btoa(String.fromCharCode(...byteArray));
```
完整示例:
```javascript
function binaryToBase64(binaryData) {
let byteArray = new Uint8Array(binaryData);
return window.btoa(String.fromCharCode(...byteArray));
}
let base64Result = binaryToBase64(binaryData);
```
阅读全文