当前位置:首页 > JavaScript

js实现base 64

2026-04-07 07:11:14JavaScript

Base64 编码与解码的实现

在 JavaScript 中,Base64 编码和解码可以通过内置的 btoa()atob() 函数实现。这两个函数分别用于将字符串编码为 Base64 和将 Base64 字符串解码为原始字符串。

编码字符串为 Base64

使用 btoa() 函数可以将一个字符串编码为 Base64 格式:

js实现base 64

const originalString = 'Hello, World!';
const encodedString = btoa(originalString);
console.log(encodedString); // 输出: "SGVsbG8sIFdvcmxkIQ=="

解码 Base64 字符串

使用 atob() 函数可以将 Base64 字符串解码为原始字符串:

const encodedString = 'SGVsbG8sIFdvcmxkIQ==';
const decodedString = atob(encodedString);
console.log(decodedString); // 输出: "Hello, World!"

处理非 ASCII 字符

btoa()atob() 仅支持 ASCII 字符。如果字符串包含非 ASCII 字符(如中文、表情符号等),需要先进行转义处理:

js实现base 64

const unicodeString = '你好,世界!';
const encodedString = btoa(encodeURIComponent(unicodeString));
console.log(encodedString); // 输出编码后的 Base64 字符串

const decodedString = decodeURIComponent(atob(encodedString));
console.log(decodedString); // 输出: "你好,世界!"

使用 Buffer(Node.js 环境)

在 Node.js 环境中,可以使用 Buffer 实现 Base64 编码和解码:

const originalString = 'Hello, World!';
const encodedString = Buffer.from(originalString).toString('base64');
console.log(encodedString); // 输出: "SGVsbG8sIFdvcmxkIQ=="

const decodedString = Buffer.from(encodedString, 'base64').toString();
console.log(decodedString); // 输出: "Hello, World!"

处理二进制数据

对于二进制数据(如文件),可以将其转换为 Base64:

// 假设有一个 ArrayBuffer 或 Uint8Array
const binaryData = new Uint8Array([72, 101, 108, 108, 111]);
const encodedString = btoa(String.fromCharCode.apply(null, binaryData));
console.log(encodedString); // 输出: "SGVsbG8="

注意事项

  • btoa()atob() 是浏览器内置函数,不适用于 Node.js。
  • 在 Node.js 中,优先使用 Buffer 进行 Base64 操作。
  • 对于非 ASCII 字符,务必使用 encodeURIComponentdecodeURIComponent 处理。

标签: jsbase
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…