首页 > 其他分享 >js base64与Uint8Array互转

js base64与Uint8Array互转

时间:2022-12-09 10:24:36浏览次数:71  
标签:index base64 Uint8Array length let rawData 互转

1.情景展示

base64如何转Uint8Array?

Uint8Array如何转成base64?

2.base64转Uint8Array

/**
 * base64字符串转为uint8array数组 
 */
const base64ToUint8Array = function(base64String) {
	try{
         let padding = '='.repeat((4 - base64String.length % 4) % 4);
         let base64 = (base64String + padding)
             .replace(/\-/g, '+')
             .replace(/_/g, '/');
         let rawData = atob(base64);
         let outputArray = new Uint8Array(rawData.length);
         for (let i = 0; i < rawData.length; ++i) {
             outputArray[i] = rawData.charCodeAt(i);
         }
         return outputArray;
     }
     catch(e) {
         throw e;
     }
}

 

3.Uint8Array转base64

/**
 * uint8array数组转为base64字符串
 */
const uint8arrayToBase64 = function(u8Arr) {
	try{
         let CHUNK_SIZE = 0x8000; //arbitrary number
         let index = 0;
         let length = u8Arr.length;
         let result = '';
         let slice;
         while (index < length) {
             slice = u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));
             result += String.fromCharCode.apply(null, slice);
             index += CHUNK_SIZE;
         }
         // web image base64图片格式: "data:image/png;base64," + b64encoded;
         // return  "data:image/png;base64," + btoa(result);
         return btoa(result);
     }
     catch(e) {
         throw e;
     }
}

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

标签:index,base64,Uint8Array,length,let,rawData,互转
From: https://www.cnblogs.com/Marydon20170307/p/16968194.html

相关文章

  • Python时间戳和日期的相互转换
    1.将字符串的时间转换为时间戳方法:a="2013-10-1023:40:00"将其转换为时间数组importtimetimeArray=time.strptime(a,"%Y-%m-......
  • 教你如何进行数仓字符串、二进制、十六进制互转
    本文分享自华为云社区《​​GaussDB(DWS)字符串、二进制、十六进制互转​​》,作者:你是猴子请来的救兵吗。概述现网中遇到很多小伙伴不清楚字符串与进制之间的转换方法,其实......
  • 教你如何进行数仓字符串、二进制、十六进制互转
    本文分享自华为云社区《GaussDB(DWS)字符串、二进制、十六进制互转》,作者:你是猴子请来的救兵吗。概述现网中遇到很多小伙伴不清楚字符串与进制之间的转换方法,其实在Gaus......
  • vue3 Cropperimage插件写入默认网络图片跨域解决办法----- 图片转换成base64
    最近项目中有一个裁切图片的需求,百度了一番最后选用cropperImage插件。由于项目中图片是存放在阿里云上,cropperImage插件在初始化默认图的时候会存在跨域问题,百度经验我选......
  • 单色位图、颜色(色彩)位图相互转换
    TheSetBkColorfunctionsetsthecurrentbackgroundcolortothespecifiedcolorvalue,ortothenearestphysicalcolorifthedevicecannotrepresentthespec......
  • 图片 base64 编码
     通常我们在使用服务的时候,数据从我们的设备传输到服务器,往往会有两种方式:一是直接传输文件,但这种情况受网络情况影响较大,文件可能传不过去,并且文件直接在网路上传播,你的......
  • Java数组和字符串的相互转换
    Java数组和字符串的相互转换字符串转换为数组JavaString类中的toCharArray()方法将字符串转换为字符数组,具体代码如下所示。Stringstr="123abc";char[]arr=......
  • base64转ArrayBuffer
          functionbase64ToUint8Array(base64String){      varbase64=base64String.replace(/^data:image\/\w+;base64,/,"");    ......
  • js 字符串与ArrayBuffer互转
    1.情景展示在js当中,如何将字符串转成ArrayBuffer?如何将ArrayBuffer转成字符串?2.字符串转ArrayBuffer/***将类型化数组转字符串Int8Array:8位有符号整数,长度1个字......
  • js base64与字符串互相转换
    1.情景展示在js当中,如何把base64字符串解码成字符串?如何把字符串进行base64编码?2.base64编码将字符串转base64格式window.btoa(str)  3.base64解码将base64格......