Base64 是一种常见的二进制到文本的编码方式,它将原本不可打印的二进制数据转化为仅包含64个可打印字符(字母、数字和符号)组成的字符串,便于在网络传输、存储或作为URL参数等场景中安全、高效地表示和传递二进制数据。

btoa()atob()JavaScript 中内置的两个方法,它们属于全局 window 对象的方法,主要用于对数据进行 Base64编码和解码。

btoa() 函数

btoa 是 “Binary To ASCII” 的缩写,用于将Binary的数据用Ascii码表示,即Base64的编码过程。

语法

// 内容为ascii标准内容时
window.btoa(input)
// 内容为非ascii标准内容时
btoa(encodeURIComponent(input))

参数

  • input:等待编码的字符串
  • 被编码的内容不支持汉字,如果编码内容是汉字需要先使用 encodeURIComponent() 进行编码处理。

返回值

  • 返回一个 Base64 编码后的字符串。

atob() 函数

btoa 是 “ASCII To Binary” 的缩写,用于将Ascii码解析成Binary,即Base64的解码过程。

语法

// 内容为ascii标准内容时
window.atob(encodedData)
// 内容为非ascii标准内容时
decodeURIComponent(atob(encodedData));

参数

  • encodedData: Base64 编码的字符串。
  • 被解码的内容不支持汉字,如果解码内容是汉字,需要使用 decodeURIComponent() 进行解码处理。

返回值

  • 返回一个解码后的字符串。

兼容性

btoa()atob() 函数在现代浏览器中广泛支持,包括 Chrome、Firefox、Safari、Edge 等。然而,在较早版本的 Internet Explorer(如 IE9 及以下)中,这些函数可能不被支持。对于需要兼容旧版IE的项目,可以考虑使用第三方库(如 base64-jsjs-base64 等)来提供Base64编解码功能。

标签: 暂无标签