js二进制的小技巧

在这里插入图片描述
数组sort如果是字符串就按照二进制
数字就按照大小
二进制 是charCodeAt来对比
二进制 有什么用
使用场景 通常用于文件流方面
比如 图片的显示
有url路径
有URL.createObjectURL(new Blob(new Uint8Array(list)))
有base64

通常是FormData 对象转二进制上传
而从后台拿资源确是二进制流
js会把大量数据的二进制流 用 blob来表示
我们通常也是在响应的地方 new blob(res.data,{});
然后filereader 读取 转化 onload readAsDataURL 成base64
来隐藏资源路径

然后重点来了 你知道转化过去 但是 你知道转回来嘛???
比如base64转成blob 或者file对象

base64编码采用btoa两部分组成 一个是type告诉你浏览器怎么识别,一个是编译的结果
通常js使用atob解密得到一大串字符串 b
然后循环遍历使用charCodeAt来转化成Unicode编码
最后用Unit8Array这个内置对象存储起来 指定数组长度的
Uint8Array 数组类型表示一个8位无符号整型数组
比如let arr = new Uint8Array(length) // arr[i] = b[i]

然后 就 new Blob([arr],{type:’’}) 或者 new File([new Uint8Array(list)],‘a’,{type:‘image/pmg’})
就可以还原
由于blob 是 array形式的存储 所以 通常可以截取长度 做切片上传
编码还原上传案例

猜你喜欢

转载自blog.csdn.net/qq_43505774/article/details/114634592