Buffer、ArrayBuffer及DataView之间的转换
转换 之间 Buffer
2023-09-14 09:00:00 时间
Buffer
是Nodejs提供的可以直接操作二进制数据的类
ArrayBuffer
是符合ES标准的
用来表示通用的、固定长度的原始二进制数据缓冲区,是一个字节数组,可读但不可直接写
注:
ArrayBuffer对象并没有提供任何读写内存的方法,但允许在其上方建立DataView,从而插入与读取内存中的数据
DataView
是一个可以从 ArrayBuffer 对象中读写多种数值类型的底层接口
类型有
Int8Array:8位有符号整数,长度1个字节 Uint8Array:8位无符号整数,长度1个字节 Int16Array:16位有符号整数,长度2个字节 Uint16Array:16位无符号整数,长度2个字节 Int32Array:32位有符号整数,长度4个字节 Uint32Array:32位无符号整数,长度4个字节 Float32Array:32位浮点数,长度4个字节 Float64Array:64位浮点数,长度8个字节
1.buffer 转 Uint8Array
var buffer = Buffer.from('hello,world');
var arraybuffer = new Uint8Array(buffer);
console.log(arraybuffer);
Uint8Array(11) [
104, 101, 108, 108,
111, 44, 119, 111,
114, 108, 100
]
2.Uint8Array 转 ArrayBuffer
var buffer = Buffer.from('hello,world');
var array = new Uint8Array(buffer);
var arraybuffer = array.buffer;
console.log(arraybuffer);
ArrayBuffer {
[Uint8Contents]: <68 65 6c 6c 6f 2c 77 6f 72 6c 64>,
byteLength: 11
}
3. ArrayBuffer转 Buffer
var buffer = Buffer.from('hello,world');
var array = new Uint8Array(buffer);
var arraybuffer = array.buffer;
var buffer1 = Buffer.from(arraybuffer);
console.log(buffer1);
<Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64>
4.ArrayBuffer转 DataView
var buffer = Buffer.from('hello,world'); var array = new Uint8Array(buffer); var arraybuffer = array.buffer; var view = new DataView(arraybuffer); console.log(view);
5.DataView转ArrrayBuffer
var buffer = Buffer.from('hello,world'); var array = new Uint8Array(buffer); var arraybuffer = array.buffer; var view = new DataView(arraybuffer); var buffer1 = view.buffer; console.log(buffer1);
ArrayBuffer {
[Uint8Contents]: <68 65 6c 6c 6f 2c 77 6f 72 6c 64>,
byteLength: 11
}
相关文章
- 不同编程语言之间转换的项目矩阵
- Delphi 中String、ANSIString、TBytes之间的转换
- 【项目经验】DataTable与JSON之间的转换
- 如何通过反射将字符串转换为类
- Kubernetes 与 OpenYurt 无缝转换(命令式)
- python 时间字符串和时间戳之间的转换
- python 时间与时间戳之间的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- python正常时间和unix时间戳相互转换的方法
- 数据库行列转换sql
- python—时间与时间戳之间的转换
- openpyxl 实现excel字母列号与数字列号之间的转换
- vuejs 将double转换为字符串并保留两位小数
- opencv中Mat与IplImage,CVMat类型之间转换
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- TF之TFOD-API:基于tensorflow框架利用TFOD-API脚本文件将YoloV3训练好的.ckpt模型文件转换为推理时采用的.pb文件
- 为Gson设置日期数据的转换格式&GSON 相同名称不同类型:GSON的TypeAdapter系列用法
- enum与int、String之间的转换
- 【华为机试真题 Python实现】一个正整数到 Excel 编号之间的转换
- 练习2-10 重新编写将大写字母转换为小写字母的函数lower,并用条件表达式替代其中的if-else结构。
- 激光点云格式转换 bin-to-pcd
- VC++中ANSI、UNICODE与UTF-8字符编码之间的转换(附源码)