Node.js将缓冲区转换为Int8Array

在客户端,我将TypedArray转换为Blob并传输到服务器,以检查数据是否正确,我想比较客户端和服务器端的前五个值,

在客户端:

var fileReader = new FileReader(); fileReader.onload = function() { callback(new Int8Array(this.result)); }; fileReader.readAsArrayBuffer(blob); 

(从中我读了callbackfn中的前五个值)

但在服务器上,我发现代码将blob转换为缓冲区,并从我的理解, bufferarraybuffer是不一样的, var buffer1 = new Buffer( blob, 'binary' );

缓冲区有什么类似于DataBuffer的DataView ,现在我如何读取缓冲区1的前5个值作为我能够在客户端做的整数?

节点缓冲区目前完全基于Uint8Array。 您可以使用Uint8Array实例执行的所有操作都可以通过一个Buffer实例来完成。 甚至更多,因为缓冲区添加额外的function和属性。 在内部,当必须创build一个Buffer实例时,他们实际上创build一个Uint8Array实例,然后将其原型设置为Node Buffer原型。 所以你可以使用buffer1.buffer等来访问底层的ArrayBuffer。