在JavaScript中,转换二进制流通常涉及到ArrayBuffer
、Uint8Array
、Blob
等对象,以及FileReader
和Blob
的API。以下是一些基本概念和相关操作:
Uint8Array
,是用来读写简单类型的二进制数据数组。ArrayBuffer
和相关类型化数组在现代浏览器中有很好的支持。Int8Array
, Uint8Array
, Float32Array
等,用于特定类型的二进制数据操作。ArrayBuffer
中数据的方式。function stringToArrayBuffer(str) {
const encoder = new TextEncoder();
return encoder.encode(str).buffer;
}
const str = "Hello, World!";
const arrayBuffer = stringToArrayBuffer(str);
console.log(arrayBuffer);
function arrayBufferToString(buffer) {
const decoder = new TextDecoder();
return decoder.decode(new Uint8Array(buffer));
}
const decodedString = arrayBufferToString(arrayBuffer);
console.log(decodedString); // "Hello, World!"
const blob = new Blob([arrayBuffer], { type: 'application/octet-stream' });
const reader = new FileReader();
reader.onload = function(event) {
const arrayBuffer = event.target.result;
console.log(arrayBuffer);
};
reader.readAsArrayBuffer(blob);
ArrayBuffer
和相关API,但在处理旧浏览器时可能需要polyfill或降级方案。通过以上方法,你可以在JavaScript中有效地处理二进制流数据。
领取专属 10元无门槛券
手把手带您无忧上云