Skip to content

Latest commit

 

History

History
58 lines (34 loc) · 1.65 KB

buffer_info.md

File metadata and controls

58 lines (34 loc) · 1.65 KB

缓冲区基础知识点

前言

Deno 内部很多API调用数据、TypeScript/JavaScriptRust通信都是都是基于 Uint8Array 格式。所以在使用Deno前需要了解一下 Uint8Array 这类数据格式的知识点

前置了解的概念

bit和byte认知

  • bit 是 二进制数据单位
  • 1 byte(字节) = 8 bit
  • 1个英文字母 = 1 byte = 8 bit
  • 1个中文汉字 = 2 byte = 16 bit

Buffer 缓冲区

  • 缓和冲击区域,用于处理速度平衡, 起到流量整形的作用。
  • 例如生产者和消费者模式中,缓存生产大于消费过程的中间地带。

前置了解的API

ArrayBuffer

  • 用来表示通用的、固定长度的原始二进制数据缓冲区
  • MDN文档
// 创建一个 5字节(8x5=40bit)长度的缓冲区
var buffer = new ArrayBuffer(5);

// 将会输出缓冲区的长度 5
console.log(buffer.byteLength);

DataView

Uint8Array

  • 8位无符号整型数组-缓冲区操作视图
  • MDN文档

TextEncoder

TextDecoder