js字符串转base64兼容所有浏览器
时间: 2023-08-03 12:10:31 浏览: 395
js对字符串进行base64转码/解码
以下是将字符串转换为Base64编码的JavaScript函数,兼容所有浏览器:
```javascript
function utf8_to_b64(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
function(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}
```
使用方法:
```javascript
var encodedString = utf8_to_b64('Hello, world!');
console.log(encodedString); // "SGVsbG8sIHdvcmxkIQ=="
```
此函数将字符串转换为UTF-8编码,然后使用`btoa()`函数将其编码为Base64字符串。如果您需要解码Base64字符串,请使用以下函数:
```javascript
function b64_to_utf8(str) {
return decodeURIComponent(Array.prototype.map.call(atob(str), function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
```
使用方法:
```javascript
var decodedString = b64_to_utf8('SGVsbG8sIHdvcmxkIQ==');
console.log(decodedString); // "Hello, world!"
```
此函数将Base64字符串解码为UTF-8编码,然后使用`decodeURIComponent()`函数将其转换为JavaScript字符串。
阅读全文