unint8Array转String

uint8ArrayToString(fileData) {
var dataString = “”;
for (var i = 0; i < fileData.length; i++) {
dataString += String.fromCharCode(fileData[i]);
}
return dataString
}

如果你要转换的是纯英文的可以选择上面的同时如果解析得到的结果是json字符串还会出现一些特殊符号例如 \\可以使用正则干掉它们最后得到字符串你发现还是无法解析 可以使用replaceAll() 也可以用正则
you happy 就OK

str.replace(new RegExp(’"{’, ‘gm’), “{”).replace(new RegExp(’}"’, ‘gm’), “}”)
我这里是干掉全部 { 前面 和 }后面的双引号

str.replace(/\/g,’’).trim();
这个是干掉出现的特殊字符

但是如果你要转换的原始文本中包含有中文的情况下 使用上面的方法最后解析出来是会存在乱码的
如果是用下面这个呢就不会存在乱码 还有坑那你就自己填吧 good lucky

Utf8ArrayToStr:function(array) {
var out, i, len, c;
var char2, char3;

  out = "";
  len = array.length;
  i = 0;
  while(i <len) {
    c = array[i++];
    switch (c >> 4) {
      case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
        // 0xxxxxxx
        out += String.fromCharCode(c);
        break;
      case 12: case 13:
        // 110x xxxx 10xx xxxx
        char2 = array[i++];
        out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
        break;
      case 14:
        // 1110 xxxx 10xx xxxx 10xx xxxx
        char2 = array[i++];
        char3 = array[i++];
        out += String.fromCharCode(((c & 0x0F) << 12) |
          ((char2 & 0x3F) << 6) |
          ((char3 & 0x3F) << 0));
        break;
    }
  }

return out;
},

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值