首页  >  文章  >  web前端  >  如何在 JavaScript 中将 Base64 字符串解码为 ArrayBuffer?

如何在 JavaScript 中将 Base64 字符串解码为 ArrayBuffer?

Susan Sarandon
Susan Sarandon原创
2024-11-17 20:06:02675浏览

How to Decode Base64 Strings to ArrayBuffers in JavaScript?

在 JavaScript 中将 Base64 字符串解码为 ArrayBuffer

在 JavaScript 中,无需使用外部服务器请求即可完成将 Base64 字符串转换为 ArrayBuffer。此过程允许在浏览器本身内处理用户提供的 Base64 数据。

要实现此转换,可以采取以下步骤:

function base64ToArrayBuffer(base64) {
    const binaryString = atob(base64); // Convert Base64 to raw binary string
    const bytes = new Uint8Array(binaryString.length); // Create new Uint8Array
    for (let i = 0; i < binaryString.length; i++) { // Loop through each char in binary string
        bytes[i] = binaryString.charCodeAt(i); // Set byte at index to corresponding code
    }
    return bytes.buffer; // Return converted ArrayBuffer
}

此函数首先解码 Base64使用本机 atob() 函数将其转换为原始二进制字符串。然后,它创建一个与二进制字符串长度相同的新 Uint8Array,并迭代二进制字符串中的每个字符。对于每个字符,提取其相应的代码点并将其分配给 Uint8Array 中的适当字节。最后,Uint8Array 的 buffer 属性(代表实际的 ArrayBuffer)作为结果返回。

演示其用法:

const base64String = "JVBERi0xLjQK";
const arrayBuffer = base64ToArrayBuffer(base64String);

在此示例中,base64String 是从 Base64 编码转换而来的使用 base64ToArrayBuffer() 函数转换为 arrayBuffer。然后可以根据需要在 JavaScript 中进一步处理此 ArrayBuffer。

以上是如何在 JavaScript 中将 Base64 字符串解码为 ArrayBuffer?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn