当前位置:首页 > 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方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…