ArrayBufferをjsonファイルに保存する方法は?私はこれにelectron-configを使いますが、config.jsonでは "{}"が見つかりました。私は(code)ArrayBufferを文字列に変換しようとしていますが、文字列をArrayBufferに変換できません。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;
}
なぜJSONにバイナリデータを格納する必要がありますか? HTTPリクエストをサーバーに送信していますか?もしそうなら、JSONではなくmultipart/form-dataのような、バイナリに優しいものを使う方が良いでしょう。 – mscdex
@mscdex JSON形式である必要はありません。私はちょうどPCにArrayBufferを保存したい。 –
ローカルコンピュータのディスク上のファイルに保存するか、LocalStorage(バイナリデータをネイティブにサポートしていない)のように* browser *に保存することを意味しますか? – mscdex