当前位置: 首页 > news >正文

解决微信小程序不支持TextEncoder/TextDecoder对象

问题描述:在使用小程序开发者工具开发小程序中使用到了CRC算法,其中有一行代码使用到了TextEncoder对象,在开发工具中一切正常,到手机上会报出错误错误如下:
MiniProgramError
TextEncoder is not defined
ReferenceError: TextEncoder is not defined

解决办法:

// 报错代码
const encoder = new TextEncoder("utf-8");
const data = encoder.encode(inputString);

方法一:使用兼容写法

//TextEncoder
unescape(encodeURIComponent(inputString)).split("").map(val => val.charCodeAt());
//TextDecoder
decodeURIComponent(escape(String.fromCharCode(...['需解码的内容替换'])));

方法二:引入库

GitHub地址-EncoderDecoderTogether.min.js

小程序里直接require()引入,全局就有TextEncoder / TextDecoder 了。

// app.js
require('path/to/EncoderDecoderTogether.min.js')

或者使用NPM安装,安装方式见文档

GitHUb地址-FastestSmallestTextEncoderDecoder

这个库只支持utf-8编码,其他编码的话可以看看这个

Github地址-text-encoding

http://www.lryc.cn/news/164838.html

相关文章:

  • Qt下SVG格式图片应用
  • python异常处理
  • go get命令不再具有安装功能
  • 合宙Air724UG LuatOS-Air lvgl7-lvgl(矢量字体)
  • LRU的实现
  • consul 备份还原导入导出
  • 6.网络编程套接字(下)
  • 4.3-内置后置PostProcess处理器深度讲解
  • LeetCode(力扣)45. 跳跃游戏 IIPython
  • mysql5.8 免安装版(压缩包)win10 安装
  • STM32-HAL库06-硬件IIC驱动FM24CL16B非易失存储器
  • python-wordcloud词云
  • 单元测试与自测
  • 2023-09-12 LeetCode每日一题(课程表 IV)
  • RabbitMQ基础
  • ITIL 4—创建、交付和支持—创建、交付和支持服务的价值流
  • 微信怎么给自己发消息
  • 正交试验设计法
  • Scrum工具:助力快速迭代和高效交付
  • 通过Python行命令搭建HTTP服务器结合内网穿透实现外网访问
  • Android T 窗口层级其三 —— 层级结构树添加窗口
  • 3D虚拟数字人定制,推动传统文化传播新高度
  • kubernetes进阶 (三) 基础练习
  • 数据结构 排序
  • Cpp/Qtday050912cpp基础
  • Git diff 使用 vimdiff 对比差异
  • c小白勇闯结构体!!!!
  • 【DevOps核心理念基础】3. 敏捷开发最佳实践
  • 二进制、数位dp:0912T3
  • Java基于SpringBoot+Vue的 4S店车辆管理系统