我有一個純Uint8Array我想保存到一個blob 我可以用任何類型('文本/純文本',應用程序/八位字節流等)創建blolb, ..Javascript如何創建和使用blob純二進制數據
var a_blob = new Blob(Uint8Array,{type: whatever});
後來要測試結果我有:
this.read_blob = function (blob) {
var reader = new FileReader();
reader.onloadend = function (evt)
{ var full_buffer = evt.target.result; }
reader.readAsArrayBuffer(blob);
}
我已經存儲1個219 2 0值(使用Uint32Array 4個值),我已經cheked所有是正確的。
現在,我有:(I想要查詢的團塊值)
var data = new Uint32Array (full_buffer,0,4);
我有: 0:808464433 1:809054514 2:808464432 3:808464432 ???? ????????
如果我使用:
var data = new Uint8Array (full_buffer,0,4);
我有: [49,48,48,48,50,49,57,48,48,...]其是ASCII碼爲1 0 0 0 2 1 9 0 .... (我的值的字符串表示....)
我在做什麼壞事? 也許blob不是真的保存爲純二進制數據? fullbuffer是一個二進制字符串對象嗎?我有使用特定類型嗎? 我是否以不同的方式讀取緩衝區? 必須創建一個Uint8Array asociating循環中的full_buffer個人數據?
如果您認爲您的解決方案將來會對其他人有所幫助,那麼您應該回答自己的問題(不要使用解決方案編輯您的問題)。不過,可能需要等待一段時間才能自我回答。 – apsillers 2014-09-11 16:41:34
請將您的答案從您的問題中移出,並轉化爲答案。我會贊成它! – 2014-10-17 15:38:21