Javascript - 从 ArrayBuffer 中获取数据

Javascript - get data out of ArrayBuffer?

本文关键字:获取 数据 ArrayBuffer Javascript      更新时间:2023-09-26

我有一个使用readAsArrayBuffer()的拖放脚本。 缓冲区的长度是完美的,但我似乎无法弄清楚如何将数据从缓冲区中提取出来。

显然,我必须创建一个 DataView 或 Uint8Array 或其他东西,然后遍历它的byteLength......帮助!

编辑相关代码(内容不多):

var reader = new FileReader();
reader.onload = function(e) {
    // do something with e.target.result, which is an ArrayBuffer
} 
reader.readAsArrayBuffer(someFileHandle);

这可能会根据您对我的评论的回答而改变,但是如果我假设您在某处使用FileReader,则需要在您需要提供的loaded回调中读取它的result属性:

function loaded(evt) {  
  var datastring = evt.target.result;
  // do something here
}
reader.onload = loaded; // where reader is a FileReader, FileReaderSync 

更新:啊,我明白了。那么,您最好的做法是遵循此副本:

在字符串和数组缓冲区之间转换

更新2:请注意,您可能可以使用readAsText(),但我不知道您是否可以自由执行此操作。