Blob

blob 对象表示一个不可变、原始数据的类文件对象,它的数据可以按文本或二进制的格式进行读取,也可以转换成stream用于数据操作

  1. const source = {name:"xxx"}
  2. const blob = new Blob([JSON.stringify(source)], {type:"application/json"})
  3. //{"name":"xxx"}
  4. download = function() {
  5. const a = document.createElement("a")
  6. a.download = "load.json"
  7. a.href = URL.createObjectURL(blob)
  8. a.click()
  9. }

blob可转换成base64格式, data-url。也可以转成file,arrayBuffer
FileReader 可用于对blob对象于其他对象之间的转换

ArrayBuffer

该对象用来表示通用的、固定长度的原始二进制数据缓冲区。
不能直接操作arraybuffer的内容,需要通过类型数组或dataview对象来操作。它们会将缓冲区中的数据表示位特定的格式,并通过这些格式来读写缓冲区的内容


const array = new ArrayBuffer(16)

const view = new DataView(array)

view.setInt8(0,97)
view.setInt8(1,98)
view.setInt8(2,99)

String.fromCharCode(view.getInt8(0)) // a

Uint8Array

该数组类型表示一个8位无符号整型数组,创建时内容初始化为0. 创建完后,可以以对象的方式或使用数组下标索引的方式引用数组中的元素
类型化数组对象描述了一个底层的二进制数据缓冲区的一个类数组试图。typedArray指的是一类。有很多的全局属性,它们的值是特定元素类型的类型化数组构造函数。
每一个类型数组承受的范围不同, TypedArray