Javascript 获取BLOB的二进制内容

Javascript 获取BLOB的二进制内容,javascript,binary,blob,Javascript,Binary,Blob,我知道,为了在Javascript中将BLOB对象转换为可读格式(URL),我应该使用createObjectURL()方法,对吗 示例: var blob = new Blob(["Example"], { type: "text/plain" }); url = window.URL.createObjectURL(blob); 我的问题是: var blob = new Blob(["Example"], { type: "text/plain" }); url = window.URL

我知道,为了在Javascript中将BLOB对象转换为可读格式(URL),我应该使用createObjectURL()方法,对吗

示例:

var blob = new Blob(["Example"], { type: "text/plain" });
url = window.URL.createObjectURL(blob);
我的问题是:

var blob = new Blob(["Example"], { type: "text/plain" });
url = window.URL.createObjectURL(blob);
是否有可能获取BLOB的原始二进制文件内容?因此,我可以得到如下结果:

"01000101 01111000 01100001 01101101 01110000 01101100 01100101" // "Example" in binary .

您可以使用FileReader以字节数组的形式获取BLOB的内容:

var reader = new FileReader();
reader.readAsArrayBuffer(blob);
reader.onloadend = (event) => {
    // The contents of the BLOB are in reader.result:
    console.log(reader.result);
}

您可以使用。要获取数字的数组缓冲,请使用

要将数组缓冲区转换为0和1的字符串,请创建一个(在本例中),将其转换为数组,然后使用基数为2-
,将视图转换为每个数字的二进制表示形式。toString(2)

constblob=newblob([“示例”],{type:“text/plain”});
const reader=new FileReader();
addEventListener(“loadend”,function(){
const view=new Int8Array(reader.result);
常量bin=[…视图].map((n)=>n.toString(2)).join(“”);
控制台日志(bin);
});

reader.readAsArrayBuffer(blob)谢谢@MátéSafranka,所以没有办法从BLOB本身访问原始二进制文件,对吗?我从来没有听说过,没有。谢谢,在过去的两天里,我一直在努力将从JS以BLOB形式获取的数据转换为C#
字节[]
,而您使用的视图让我取得了一些进展。你知道我如何用C语言进行数据转换吗?我的blob通过WebSocket传递,并通过
MemoryStream
Welcome读取。不幸的是,我帮不了你。