js中接收和操作ArrayBuffer

关于前段ArrayBuffer的数据处理也是最近遇到的,主要是用于接收并显示后端生成的图片流。

数据的获取:

        一开始我用的时候ajax请求获取的文件流,但是js端并显示不出来该有的图片但是可以读出流,可能是接收和处理的方式造成的,若有大神用ajax请求能够正确读出ArrayBuffer的请指出。

 

 

这种方式是我成功接收并显示的方法。

数据解析

通过对应数据类型的请求,可以得到二进制数据,数据被存储在通过ArrayBuffer这个构造函数创建一个缓冲区内,取得数据后需要使用相对应的TypedArray进行解析。
类型化数组有以下几种:

名称占用字节描述
Int8Array 1 8位二补码有符号整数
Uint8Array 1 8位无符号整数
Uint8ClampedArray 1 8位无符号整型固定数组(数值在0~255之间)
Int16Array 2 16位二补码有符号整数
Uint16Array 2 16位无符号整数
Int32Array 4 32 位二补码有符号整数
Uint32Array 4 32 位无符号整数
Float32Array 4 32 位 IEEE 浮点数
Float64Array 8 64 位 IEEE 浮点数

Int 为整型,Uint 为无符号数,Float 为浮点型,一个字节占八位,解析数据以"字节"为基础单位,无法直接读取位(不知道是不是这样,反正我是没找到方法)。解析数据的时候要了解数据的存储格式。

错误:

自己之前用ajax方式请求在做数据操作的时候,到了Uint8Array这个对象使用的时候完全转化不了,可能是由于接收的值不够准确吧

 

posted @   java彼岸花  阅读(7189)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
/* 鼠标点击求赞文字特效 */ /*鼠标跟随效果*/
点击右上角即可分享
微信分享提示

目录导航