urnotun
urnotun
  • 发布:2020-08-20 09:35
  • 更新:2023-02-16 10:33
  • 阅读:1424

【报Bug】安卓真机运行下atob()解码数据错误,调试页面数据正常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 10

HBuilderX类型: 正式

HBuilderX版本号: 2.8.6

手机系统: Android

手机系统版本号: Android 6.0

手机厂商: 三星

手机机型: SM-G900F

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

unzip(b64Data){
var strData = atob(b64Data); // 这里生成的数据打印出来长度和数据都是错的
console.log(strData.length)
},

操作步骤:

'''
b64Data = "Nwun3puFT3SKXq7SaRvR/917zRX/td+Nh+Aq460X9NF4fhdovA5uVPSMTbsosbBD7l3SYFD/Auhr0bDLBQAA"
var data = atob(b64Data)
console.log(data)
console.log(data.length)
'''

预期结果:

data.length == 63

实际结果:

data.length == 58

bug描述:

对收到的base64数据解压处理,原始数据含中文,第一步调用原生的atob()进行处理。
当使用安卓机器真机运行的话,atob()算出来的数据长度比正常的要少。同一台安卓设备,同样的数据,如果进入手机调试界面重新运行的话,atob()算出来的数据是对的。ios、内置浏览器不会存在这个问题。

2020-08-20 09:35 负责人:无 分享
已邀请:
lihailan

lihailan - xue

这问题也反应了,都没人解决

DCloud_Android_DQQ

DCloud_Android_DQQ

HX版本 3.0.0 bug已修复

  • lihailan

    APP是正常了,小程序真机 atob 报错。用不了。模拟器是正常的,用小米真机 又出错

    2021-03-11 15:48

  • DCloud_Android_DQQ

    回复 lihailan: 微信小程序?

    2021-03-11 17:03

  • lihailan

    回复 DCloud_Android_DQQ: 嗯 是的。模拟器上 是有数据的。但是用真机预览 模式。atob 出错

    2021-03-12 10:25

  • lihailan

    回复 lihailan: 真机调试 显示 atob is not a function 是小程序 不兼容?

    2021-03-12 10:42

  • DCloud_Android_DQQ

    回复 lihailan: 问了相关同事。 应该是有的。 你测试一下 微信原生有没有问题。 如果原生如果有 给wx报个bug.

    2021-03-12 10:56

  • lihailan

    回复 DCloud_Android_DQQ: 刚处理好了,谢谢

    2021-03-12 11:21

  • 4***@yesep.com

    回复 lihailan: 怎么处理的,一样问题?

    2021-05-11 10:14

  • g***@163.com

    回复 lihailan: 怎么处理的?共享下呗

    2021-10-16 08:21

靖詟

靖詟 - WhitePeng

小程序用weAtob

要回复问题请先登录注册