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

微信小程序如何把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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)