zoukankan      html  css  js  c++  java
  • 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这个对象使用的时候完全转化不了,可能是由于接收的值不够准确吧

  • 相关阅读:
    单例模式 (线程安全)
    Hystrix (容错,回退,降级,缓存)
    Feign负载均衡
    Ribbon远程调用
    Eureka服务注册与发现
    适配器模式
    docker学习(二)
    使用Eclipse进行远程调试(转)
    docker学习(一)
    Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新(转)
  • 原文地址:https://www.cnblogs.com/javabianhua/p/11911902.html
Copyright © 2011-2022 走看看