小编Lao*_*Tzu的帖子

Uint8Array到Array Buffer

所以我有一个ArrayBuffer,它是我用新的HTML5文件阅读器作为ArrayBuffer()读取的文件的文件内容,我可以通过执行以下操作将ArrayBuffer转换为Uint8Array.

//ab = established and defined ArrayBuffer

var foobar = new Uint8Array([ab]);

//var reversed = reverseUint8Array(foobar); 

//reversed should equal ab 
Run Code Online (Sandbox Code Playgroud)

如何将最后一个流程转回ab?

以下是解密后我得到的输出:http://prntscr.com/b3zlxr

这是什么样的格式,如何将其变成blob?

javascript

15
推荐指数
3
解决办法
2万
查看次数

ArrayBuffer to String, String to ArrayBuffer Method(s)

这个问题过去已经得到了答案,但我肯定会说仍然没有答案。

一般来说,几乎有关于 ArrayBuffers 的文档,更不用说特定应用程序了。我已经研究了几天无济于事。

基本上我需要尝试将从文件阅读器(这里:https : //developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsArrayBuffer)获得的 ArrayBuffer 转换为字符串,然后转换那个字符串回到同一个ArrayBuffer。

例如,我尝试过这些方法

function ab2str(buf) {
  return String.fromCharCode.apply(null, new Uint16Array(buf));
}

function str2ab(str) {
  var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
  var bufView = new Uint16Array(buf);
  for (var i=0, strLen=str.length; i<strLen; i++) {
    bufView[i] = str.charCodeAt(i);
  }
  return b
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:“Uint16Array 的字节长度应该是 2 的倍数”

我也尝试了以下

function StringToUint8Array(string) {
    var binary, binLen, buffer, chars, i, _i;
    binary = StringToBinary(string);
    binLen = binary.length;
    buffer = new ArrayBuffer(binLen);
    chars  = new …
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×2