📜  js 解码 base64 utf8 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:25.198000             🧑  作者: Mango

JS 解码 Base64 UTF-8

在 JavaScript 中,我们常常需要对 Base64 编码的字符串进行解码操作。Base64 编码是将二进制数据编码为 ASCII 字符串的一种方式。在实际开发中,我们经常会在前端通过 Ajax 发送请求,返回的数据可能会是 Base64 编码的字符串,因此在后续操作前需要进行解码。

解码 Base64

在 JavaScript 中解码 Base64 可以使用 atob() 函数,该函数可以将 Base64 编码的字符串解码为原始字符串。

const base64String = "SGVsbG8gV29ybGQh"; // Base64 编码的字符串
const decodedString = atob(base64String); // 解码后的字符串
console.log(decodedString); // Hello World!
解码 UTF-8

在 JavaScript 中解码 UTF-8 可以使用 decodeURIComponent() 函数,该函数可以将 UTF-8 编码的字符串解码为原始字符串。

const uriEncoded = "%E6%88%91%E6%98%AF%E4%B8%AD%E5%9B%BD%E4%BA%BA"; // UTF-8 编码的字符串
const decodedString = decodeURIComponent(uriEncoded); // 解码后的字符串
console.log(decodedString); // 我是中国人
解码 Base64 + UTF-8

如果需要同时解码 Base64 和 UTF-8 编码的字符串,我们可以先解码 Base64 编码的字符串,再将解码后的字符串传递给 decodeURIComponent() 函数进行解码。

const base64String = "5oiR5piv5LiA5Liq"; // Base64 编码的字符串
const decodedBase64 = atob(base64String); // 解码后的字符串
const uriEncoded = encodeURIComponent(decodedBase64); // 将解码后的字符串进行 UTF-8 编码
const decodedString = decodeURIComponent(uriEncoded); // 解码后的字符串
console.log(decodedString); // 你好,世界

以上是解码 Base64 + UTF-8 的完整示例代码。

总结

在 JavaScript 中解码 Base64 和 UTF-8 编码的字符串非常简单,只需要使用现有的 API 就可以快速完成。在实际开发中,我们可以根据自己的需求进行解码,解码后的字符串可以用于后续的操作。