-
JavaScript 定义了两个与 Base64 相关的全局方法。
1. btoa():字符串或二进制值转为 Base64 编码。
2. atob():把 Base64 编码转为原来的字符。
- 遇到中文编码需要先做一次 URI 组件编码或对解码后的内容进行 URI 解码
1. encodeURIComponent():结合 btoa 使用
2. decodeURIComponent():结合 atob 使用
const str = 'test'
const encode = btoa(encodeURIComponent(str))
console.log(encode)
const str = 'dGVzdA=='
const decode = decodeURIComponent(atob(str))
console.log(decode)
const Base64 = {
encode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
function toSolidBytes(match, p1) {
return String.fromCharCode(Number('0x' + p1));
}));
decode(str) {
return decodeURIComponent(atob(str).split('').map(function (c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
let encoded = Base64.encode("一颗不甘坠落的流星");
let decoded = Base64.decode(encoded);
- 按照 Base64 插件:编解码:
js-base64
,判断是否是Base64编码格式:is-base64
npm i js-base64
npm i is-base64
import isBase64 from 'is-base64';
import { Base64 } from 'js-base64';
const base64ToStr = (base64Str: string): string => {
if (isBase64(base64Str)) {
return Base64.decode(base64Str);
return base64Str;
export const strToBase64 = (str: string): string => Base64.encode(str);
console.log(strToBase64('一颗不甘坠落的流星'))
console.log(base64ToStr('5LiA6aKX5LiN55SY5Z2g6JC955qE5rWB5pif'))
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符。
Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。包括MIME的email,email via MIME, 在XML中存储复杂数据。
1.加密解密方法使用:
//1.加密
var str = '124中文内容';
var base = new Base64();
var result = base.encode(str);
//[removed](result);
//2.解密
var result2 = base.
js实现base64编码解码
base64编码原理:
base64可编码范围(ASCII字符范围内\u0000-\u00ff),所以每个字符必须8位,以3个字符为一组,转换为6bit的字节(3*8=4*6=24).
在每个6bit字节的高位添加0组成8bit的字节,然后将每8bit字节转换为10进制数字,对应Base64码表.
如果字节个数不是3的倍数那么全部用0补齐,对应输出"=",所以编码后可能出现一个或两个"="号.
base64解码
base64编码的逆运算
因为ASCII字符范围内\u0000-\u00ff所以不能编码中文
base64.encode('需要编码的字符');
base64.decode('需要解码的字符');
【Git】合并分支出现 Please enter a commit message to explain why this merge is necessary.
2301_77625370:
【编译报错】FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScrip
粉末的沉淀:
【CSS】各属性用法汇总(必备收藏)
一颗不甘坠落的流星: