HarmonyOS ArkTS实现Uint8Array类型转Map有问题
代码如下:
const temp = 'eyJ0aW1lc3RhbXAiOiIxNzE5NTgzMjk4MDA3IiwiY2hhbGxlbmdlIjoicXpRaFBvbkdkR2FmVDc2d2dBTmFuUnc2UTE4WE0wengtZUdRNlNPb1Z3bmh2X1kiICwiZG93bmxvYWRDZXIiOiAidHJ1ZSIsInVzZXJWZXJpZmljYXRpb24iOiIyIiAsImRldmljZUlEIjoibWF0ZTMwdGVzdCIgLCJhdXRoVHlwZSI6ImF1dGgiICwiYWRkVXZpIjoibnVsbCIgLCJtb2RlbE51bWJlciI6Im51bGwiIH0'
this.serverData = await this.genClientExts(temp);
private async genClientExts( temp:string): Promise<string> {
  let  base64 = new util.Base64Helper();
  // let exts: ArrayList<Extension> = new ArrayList<Extension>();
  let data:Uint8Array = await base64.decode(temp);
  let serverData = uint8ArrayToString(data); // serverData缺少右花括号
  return serverData;
}
function uint8ArrayToString(array: Uint8Array) {
  // 将UTF-8编码转换成Unicode编码
  let out: string = "";
  let index: number = 0;
  let len: number = array.length;
  while (index < len) {
    let character = array[index++];
    switch(character >> 4) {
      case 0:
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
      case 6:
      case 7:
        out += String.fromCharCode(character);
        break;
      case 12:
      case 13:
        out += String.fromCharCode(((character & 0x1F) << 6) | (array[index++] & 0x3F));
        break;
      case 14:
        out += String.fromCharCode(((character & 0x0F) << 12) | ((array[index++] & 0x3F) << 6) | ((array[index++] & 0x3F) << 0));
        break;
      default:
        break;
    }
  }
  return out;
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS ArkTs可以实现Uint8Array类型转Map吗? 
1137浏览  • 1回复 待解决
ArrayBuffer怎么转Uint8Array? 
1554浏览  • 1回复 待解决
HarmonyOS string转Uint8Array 
1257浏览  • 1回复 待解决
HarmonyOS Uint8Array转16进制 
1211浏览  • 1回复 待解决
HarmonyOS uint8Array转字符串 
1455浏览  • 1回复 待解决
HarmonyOS Uint8Array怎么正确转ArrayBuffer 
3043浏览  • 1回复 待解决
HarmonyOS List<number>怎么转Uint8Array 
1129浏览  • 1回复 待解决
如何将Uint8Array转ArrayBuffer? 
1465浏览  • 1回复 待解决
HarmonyOS 中Uint8Array 
1357浏览  • 1回复 待解决
如何将Uint8Array转字符串? 
1773浏览  • 1回复 待解决
Uint8Array转化为HasMap,并且将Uint8Array写入沙盒 
1061浏览  • 1回复 待解决
HarmonyOS ArkTs侧 Uint8Array类型的参数,Native层怎么解析? 
2367浏览  • 2回复 待解决
HarmonyOS  Uint8Array格式转字符串的方法 
1929浏览  • 1回复 待解决
HarmonyOS 录音发送Uint8Array 
883浏览  • 1回复 待解决
Uint8Array如何转成ArrayBuffer 
2658浏览  • 1回复 待解决
HarmonyOS ArrayBuffer如何转成Uint8Array 
1346浏览  • 1回复 待解决
HarmonyOS Uint8Array,Int8Array怎么互相转换 
1480浏览  • 1回复 待解决
Uint8Array是@Sendable类吗? 
1272浏览  • 1回复 待解决
HarmonyOS string怎么与Uint8Array互转? 
2365浏览  • 1回复 待解决
HarmonyOS svg数据类型:uint8array ,image组件怎么显示 
1050浏览  • 1回复 待解决
HarmonyOS socket.TLSSocket发送Uint8Array对象 
978浏览  • 1回复 待解决
HarmonyOS Uint8Array转成string后出现乱码 
1558浏览  • 1回复 待解决
Uint8Array 如何直接转为String or Json 
4211浏览  • 1回复 待解决
HarmonyOS collections.Uint8Array怎么转ArrayBuffer 
910浏览  • 1回复 待解决
HarmonyOS 如何将Uint8Array转为ArrayBuffer 
984浏览  • 1回复 待解决





















https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-util-V5#decodesync9
Type为BASIC_URL_SAFE可以用来解码不带“=”的字符串,默认是BASIC,解码带“=”的字符串。