Base64 编码是一种常见的数据编码方式,在 JavaScript 中有广泛的应用。以下是对 Base64 编码在 JS 中的相关介绍:
基础概念: Base64 编码将二进制数据转换为 ASCII 字符串格式,使用 64 个字符来表示数据。常用于在需要文本传输但实际是二进制数据的场景,如在 HTML、CSS、XML 中嵌入图片,或者在网络传输中编码数据。
优势:
类型:无特定类型之分,是一种通用的编码方式。
应用场景:
示例代码:
// 编码
const str = "Hello World!";
const encoded = btoa(str);
console.log(encoded); // "SGVsbG8gV29ybGQh"
// 解码
const decoded = atob(encoded);
console.log(decoded); // "Hello World!"
如果在编码或解码过程中遇到问题:
例如,处理包含非 ASCII 字符的字符串:
function utf8ToBase64(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
function toSolidBytes(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}
function base64ToUtf8(str) {
return decodeURIComponent(atob(str).split('').map(function(c) {
return '%' + c.charCodeAt(0).toString(16).padStart(2, '0');
}).join(''));
}
const unicodeStr = "你好";
const encodedUnicode = utf8ToBase64(unicodeStr);
console.log(encodedUnicode); // "5L2g5aW9"
const decodedUnicode = base64ToUtf8(encodedUnicode);
console.log(decodedUnicode); // "你好"
希望以上内容能满足您的需求!
领取专属 10元无门槛券
手把手带您无忧上云