// 将字符串转换为Base64编码的示例代码
function stringToBase64(str) {
// 使用内置的btoa函数将字符串转换为Base64编码
// 注意:btoa只能处理ASCII字符,对于包含非ASCII字符的字符串,需要先进行UTF-8编码
try {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
} catch (err) {
console.error("Error encoding to Base64:", err);
return null;
}
}
// 示例用法
var originalString = "Hello, 世界!";
var base64Encoded = stringToBase64(originalString);
console.log("Base64 Encoded:", base64Encoded);
// 输出结果应该是类似于:
// Base64 Encoded: SGVsbG8sIOS4lueVjA==
btoa
函数:这是浏览器提供的一个内置函数,用于将字符串转换为 Base64 编码。但它只支持 ASCII 字符,因此对于包含非 ASCII 字符(如中文)的字符串,我们需要先进行 UTF-8 编码。encodeURIComponent
:这个函数将字符串中的特殊字符(包括非 ASCII 字符)编码为 URI 组件格式(例如,%E4%B8%AD%E6%96%87
),然后再将其转换为 Base64 编码。replace(/%([0-9A-F]{2})/g, ...)
用于将 %xx
格式的编码转换回字符,以便 btoa
可以正确处理。希望这段代码和解释对你有帮助!
上一篇:js 字符串转时间
下一篇:js concat会改变原数组吗
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站