本文介绍了如何保存 ArrayBuffer?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将 ArrayBuffer 保存在 json 文件中?我为此使用了电子配置,但在 config.json 中我找到了{}".我尝试转换(代码) ArrayBuffer 到字符串,但是我不能将字符串转换为ArrayBuffer.

How to save an ArrayBuffer in json file? I use electron-config for this, but in config.json I found "{}". I try convert (code) ArrayBuffer to string, but then I can't convert string to ArrayBuffer.

put: function(key, value) {
    //value = { prop1: <ArrayBuffer>, prop2: <ArrayBuffer> }
    if (key === undefined || value === undefined || key === null || value === null)
        return;
    var prop1Str,prop2Str;
    prop1Str = this.ab2str(value.prop1);
    prop2Str = this.ab2str(value.prop2);
    var chValue = {prop1:prop1Str, prop2:prop2Str};
    config.set(key,chValue);
    console.log(value.prop1 === this.str2ab(config.get(key).prop1)); //===> FALSE
},
ab2str: function(buf) {
    return String.fromCharCode.apply(null, new Uint8Array(buf));
},
str2ab: function(str) {
    var buf = new ArrayBuffer(str.length);
    var bufView = new Uint16Array(buf);
    for (var i=0, strLen=str.length; i < strLen; i++) {
        bufView[i] = str.charCodeAt(i);
    }
    return buf;
}

推荐答案

为了保存到磁盘,您应该能够使用普通节点 API 将内容写入磁盘.例如:

For saving to disk, you should be able to use the normal node APIs for writing something to disk. For example:

require('fs').writeFileSync('/path/to/saved/file', Buffer.from(myArrayBuffer));

这篇关于如何保存 ArrayBuffer?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-16 07:38