qq_33802316 2018-02-08 09:35 采纳率: 0%
浏览 18782
已结题

微信小程序如何把ArrayBuffer 转为字符串啊

自己尝试了一下一个方:工具调试可以运行就说类型Undefined........好坑啊
数据如下:Uint8Array(85)
[123, 34, 100, 97, 116, 97, 84, 121, 112, 101, 34, 58, 34, 115, 101, 115, 115, 105, 111, 110, 95, 100, 97, 116, 97, 95, 116, 121, 112, 101, 95, 116, 101, 115, 116, 34, 44, 34, 101, 114, 114, 67, 111, 100, 101, 34, 58, 49, 44, 34, 100, 97, 116, 97, 34, 58, 123, 34, 110, 97, 109, 101, 34, 58, 34, 229, 188, 160, 228, 184, 137, 34, 44, 34, 97, 103, 101, 34, 58, 34, 50, 48, 34, 125, 125]

let arrayBuffer = res.data;

  if (arrayBuffer instanceof ArrayBuffer){
    let unit8Arr = new Uint8Array(arrayBuffer) ;
    console.log(unit8Arr);
            //下面这个可以但是中文乱码
    console.log(String.fromCharCode.apply(null, unit8Arr ));

            //下面这个调试也可以但是微信预览就不行了报错说TextDecoder  undefined
    var decodeStr = new TextDecoder("utf-8").decode(unit8Arr);
    console.log(decodeStr); 

  }


        另外自己想着转为Blob后解析,调试也可以,但是微信运行也报错Blob  undefined,好坑啊,哪位朋友帮忙给点意见啊,再次先谢过
  • 写回答

2条回答 默认 最新

  • qq_33802316 2018-02-09 01:33
    关注

    自己找到了解决办法,真机调试可以,中文不乱吗:
    let unit8Arr = new Uint8Array(arrayBuffer) ;
    let encodedString = String.fromCharCode.apply(null, unit8Arr),
    decodedString = decodeURIComponent(escape((encodedString)));//没有这一步中文会乱码
    console.log(decodedString);

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题