📅  最后修改于: 2023-12-03 15:39:13.852000             🧑  作者: Mango
在Javascript中,将base64字符串转换为字节数组的方法非常简单。本文将会介绍如何使用内置的函数将base64字符串转换为字节数组,并附带一个示例代码。
atob
函数在Javascript中,使用atob
函数可以将base64字符串解码为普通字符串。但是这个函数只能解码ASCII字符集的字符串,如果在字符串中包含了非ASCII字符,则会抛出异常。
为了能够将base64字符串转换为字节数组,我们需要创建一个ASCII字符集的字符串,并使用atob
函数将其解码为一个二进制数据。下面是一个示例代码:
function base64ToArrayBuffer(base64) {
const binaryString = atob(base64);
const len = binaryString.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; i++) {
bytes[i] = binaryString.charCodeAt(i);
}
return bytes.buffer;
}
该函数接受一个base64字符串作为输入,并返回一个ArrayBuffer对象。
我们首先使用atob
函数将base64字符串解码为二进制数据。然后,我们使用Uint8Array
类型创建了一个长度与二进制数据相等的数组。接下来,我们使用循环将每个字节存储到新创建的数组中。最后,我们使用buffer
属性从数组中获取ArrayBuffer对象并将其返回。
以下是一个简单的示例程序,该程序将base64字符串转换为字节数组,并将结果输出到控制台。
const base64String = 'SGVsbG8gV29ybGQ=';
const buffer = base64ToArrayBuffer(base64String);
console.log(new Uint8Array(buffer));
输出结果如下:
Uint8Array(11) [ 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 ]
在Javascript中,使用atob
函数可以将base64字符串解码为二进制数据。但是该函数只能解码ASCII字符集的字符串。为了能够将base64字符串转换为字节数组,我们需要使用Uint8Array
类型创建一个数组,并使用循环将每个字节存储到数组中。最后,我们使用buffer
属性从数组中获取ArrayBuffer对象。