base64转换方法uniapp
Base64 转换方法(UniApp)
在 UniApp 中实现 Base64 编码和解码,可以通过原生 JavaScript 的 btoa 和 atob 方法,或使用第三方库如 base64-js。以下是具体实现方式:
使用原生 JavaScript 方法
Base64 编码(字符串转 Base64)
const text = 'Hello, UniApp!';
const base64String = btoa(unescape(encodeURIComponent(text)));
console.log(base64String); // 输出编码结果
encodeURIComponent处理中文字符,unescape和btoa完成转换。
Base64 解码(Base64 转字符串)

const base64String = 'SGVsbG8sIFVuaUFwcCE=';
const decodedText = decodeURIComponent(escape(atob(base64String)));
console.log(decodedText); // 输出解码结果
使用 base64-js 库(推荐处理二进制数据)
-
安装库:
npm install base64-js -
编码与解码示例:

import { toByteArray, fromByteArray } from 'base64-js';
// 字符串转 Base64 const text = 'Hello, UniApp!'; const bytes = new TextEncoder().encode(text); const base64String = fromByteArray(bytes); console.log(base64String);
// Base64 转字符串 const decodedBytes = toByteArray(base64String); const decodedText = new TextDecoder().decode(decodedBytes); console.log(decodedText);
---
#### 图片转 Base64(UniApp 示例)
使用 `uni.chooseImage` 选择图片并转换为 Base64:
```javascript
uni.chooseImage({
count: 1,
success: (res) => {
const tempFile = res.tempFilePaths[0];
uni.getFileSystemManager().readFile({
filePath: tempFile,
encoding: 'base64',
success: (fileRes) => {
console.log(fileRes.data); // 输出图片的 Base64 数据
}
});
}
});
注意事项
- 原生
btoa和atob不支持直接处理中文字符,需通过encodeURIComponent转换。 - 处理二进制数据(如图片)时,推荐使用
base64-js或 UniApp 原生 API。 - 在浏览器环境中,可直接使用
FileReader的readAsDataURL方法。





