我正在阅读http://www.html5rocks.com/en/tutorials/file/xhr2/并尝试找出ArrayBuffer和Blob之间的区别.
两个容器都不是由比特组成的吗?因此,不能以多种方式查看两个容器(如32位块,16位块等)?
The*_*Pea 42
摘要
除非你需要能够编写/编辑(使用ArrayBuffer
),否则Blob
格式可能是最好的.
详情
我从另一个 html5rocks页面来到这个问题.,我发现@Bart van Heukelom的评论很有帮助,所以我想把它们提升到一个答案.
我还发现它有助于找到特定的资源ArrayBuffer
和Blob
对象.我强调重申我正在寻找的有用细节.总结:尽管强调Blob
"原始数据",但它非常可行.
与我想强调的文档的不同之处在于:
- ArrayBuffer位于内存中,可供操作.
- Blob可以位于磁盘,高速缓存存储器以及其他不易获得的位置
ArrayBuffer
,如OP的URL中的示例所示.Blob
使用blob.window.URL.createObjectURL
的FileReader
方法FileReader
,在
这个答案中显示以下是帮助我的文档详细信息:
ArrayBuffer对象用于表示通用的固定长度原始二进制数据缓冲区.你不能直接操纵ArrayBuffer的内容; 相反,您创建一个类型化数组对象或一个DataView对象,它表示特定格式的缓冲区,并使用它来读取和写入缓冲区的内容.
Blob对象表示不可变的原始数据的类文件对象.Blob表示不一定采用JavaScript本机格式的数据.File 接口基于Blob,继承blob功能并将其扩展为支持用户系统上的文件.
Hal*_*yon 19
它在页面上解释.
ArrayBuffer
ArrayBuffer是二进制数据的通用固定长度容器.如果您需要原始数据的通用缓冲区,它们非常方便,但这些人背后的真正力量是您可以使用JavaScript类型数组创建基础数据的"视图".实际上,可以从单个ArrayBuffer源创建多个视图.例如,您可以创建一个8位整数数组,该数组与来自相同数据的现有32位整数数组共享相同的ArrayBuffer.基础数据保持不变,我们只是创建它的不同表示.
BLOB
如果您想直接使用Blob和/或不需要操作任何文件的字节,请使用xhr.responseType ='blob':
归档时间: |
|
查看次数: |
16562 次 |
最近记录: |