Converting between strings and ArrayBuffers

后端 未结 24 1226
慢半拍i
慢半拍i 2020-11-22 04:50

Is there a commonly accepted technique for efficiently converting JavaScript strings to ArrayBuffers and vice-versa? Specifically, I\'d like to be able to write the contents

24条回答
  •  不要未来只要你来
    2020-11-22 05:19

    Well, here's a somewhat convoluted way of doing the same thing:

    var string = "Blah blah blah", output;
    var bb = new (window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder)();
    bb.append(string);
    var f = new FileReader();
    f.onload = function(e) {
      // do whatever
      output = e.target.result;
    }
    f.readAsArrayBuffer(bb.getBlob());
    

    Edit: BlobBuilder has long been deprecated in favor of the Blob constructor, which did not exist when I first wrote this post. Here's an updated version. (And yes, this has always been a very silly way to do the conversion, but it was just for fun!)

    var string = "Blah blah blah", output;
    var f = new FileReader();
    f.onload = function(e) {
      // do whatever
      output = e.target.result;
    };
    f.readAsArrayBuffer(new Blob([string]));
    

提交回复
热议问题