Skip to content

Blob,ArrayBuffer,Base64 有什么区别?

Posted on:2024年8月10日 at 17:07

Blob、ArrayBuffer和Base64是在Web开发中处理二进制数据的不同表示和操作方式。

  1. Blob(Binary Large Object): Blob是一种表示二进制数据的对象,可以存储大量的数据。它常用于处理文件、图像、音频和视频等媒体数据。Blob对象可以通过new Blob()构造函数创建,也可以从其他数据源(例如,通过XMLHttpRequest下载的数据)生成。Blob提供了一些方法和属性,用于读取和操作二进制数据。

  2. ArrayBuffer: ArrayBuffer是一种用于表示通用的二进制数据缓冲区的对象。它在内存中分配一块连续的、固定大小的原始二进制数据,并提供了一些方法和属性来读取和操作这些数据。ArrayBuffer不直接访问二进制数据,而是通过TypedArray视图或DataView对象来读写数据。

  3. Base64: Base64是一种将二进制数据转换为可打印字符的编码方式。它通过将二进制数据按照一定规则进行编码,生成由A-Z、a-z、0-9和一些特殊字符组成的字符串。Base64编码后的数据可以用于在文本协议中传输二进制数据,例如在网络请求中传递图片数据或在HTML中嵌入图片。

区别:

需要根据具体的使用场景和需求选择适合的数据表示和处理方式。

原文转自:https://fe.ecool.fun/topic/65abec8a-88fd-4085-8695-e207fa3aec3f