小程序字节转GBK及UTF8

前段时间在Android原生搞的BLE扫码枪又要移植到小程序上来。本以为小程序不支持BLE的,结果一搜,还真支持-_-|| 。

蓝牙部分问题不大,遇到的主要问题是, 小程序环境如何对字符编码进行判断以及如何进行编码转文字的问题。

扫了一阵,搜到了TextDecoder。结果小程序环境不支持……。

随后搜到了一个polyfill库, 可以用于小程序。

下载后的文件包含

encoding.js 和 encoding-indexes.js 两个文件。

使用时

坑:utf8编码数组 是能正确转换的, gbk的不行。(2017 5月v0.6.3 这个版本) 调试了下,需要修改encoding.js文件,不知道是不是个bug

另,中文编码常用的有两种”GBK”和”utf8″,因此对于输入数组还是要先做编码判断,才能正确转换为文字。 js版本的判断utf8的函数也没有搜到合适的,用之前java 的改了下 ,下面的亲测可用。

Original: https://www.cnblogs.com/uncleguo/p/16186906.html
Author: 锅叔
Title: 小程序字节转GBK及UTF8

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607405/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Ubuntu18上面一个非常有用的配置工具【gnome-tweaks】

    Ubuntu 18.04 LTS的Gnome桌面UI主打简约,但是相比前几个发行版本上的UI功能, 18.04默认的UI已经阉割掉了。其实 Ubuntu官方将我们上面所说的UI功能…

    Linux 2023年5月27日
    0115
  • vi和vim文本编辑器

    vi和vim文本编辑器 vi和vim模式的相互切换 快捷键使用案例 拷贝当前行yy; 拷贝当前行向下的5行 5yy; 并粘贴(p) 删除当前行dd; 删除当前行向下的5行 5dd …

    Linux 2023年6月11日
    0108
  • .NET Core 3.0, 发布将于今晚开始!

    期待已久的.NET Core 3.0即将发布! .NET Core 3.0在.NET Conf上发布。大约还有9个多小时后,.NET Conf开始启动。 第1天-9月23日 9:0…

    Linux 2023年6月7日
    095
  • 本地项目推送到远程仓库(原来可以这么玩)

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i 方式一:在idea中将项目推送至远程仓库 注:此处远程仓库以码云为例 第一步:登录码云,进入个人主页 点击个人头像…

    Linux 2023年6月14日
    0138
  • HTML笔记整理–上节

    一、认识WEB 「网页」主要是由 文字、 图像和 超&#x94…

    Linux 2023年6月13日
    0101
  • 清空Redis集群所有节点的数据工具

    FLUSHALL和FLUSHDB是单机命令,所以清空集群需要在所有Master节点上均执行一次。下载:https://github.com/eyjian/redis-tools/b…

    Linux 2023年5月28日
    0112
  • linux用户组管理

    一、简介 1、每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,不同Linux系统对用户组的规定有所不同,如:Linux下在创建用户时,不指定用户组名,则会同时…

    Linux 2023年5月27日
    0129
  • 网络安全简单入门与扫描

    网络安全简单入门 内容大纲 策略制定 安全工具 其他 1、安全策略 1.1、安全三要素 要全面地认识一个安全问题,我们有很多种办法,但首先要理解安全问题的组成属性。前人通过无数实践…

    Linux 2023年6月7日
    0103
  • Redis中删除过期Key的三种策略

    转载自:http://blog.csdn.net/a_bang/article/details/52986935?locationNum=9&fps=1 项目中有个接口要频…

    Linux 2023年5月28日
    0117
  • ip、ifconfig 和 route命令介绍与网络配置

    linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig是net-tools中…

    Linux 2023年6月6日
    0104
  • 【MQTT】基于mosquitto的学习和使用

    文章目录 前言 一、MQTT简介 * MQTT特性 MQTT协议原理 MQTT协议数据包结构 二、安装MQTT * 1.mosquitto简介 2.安装mosquitto库 2.常…

    Linux 2023年6月13日
    0128
  • 解决nginx反向代理Mixed Content和Blockable问题

    bash;gutter:false; nginx配置https反向代理,按F12发现js等文件出现Mixed Content,Optionally-blockable 和 Bloc…

    Linux 2023年6月7日
    0147
  • Kubernetes 部署Dashboard UI

    实践环境 CentOS-7-x86_64-DVD-1810 Docker 19.03.9 Kubernetes version: v1.20.5 发布 Dashboard 可以通过…

    Linux 2023年5月27日
    0145
  • 进程与fork

    进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程…

    Linux 2023年6月7日
    0110
  • DQL

    查询语法 select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组后条件 order by 排序字段 limit 分页限定 …

    Linux 2023年6月7日
    082
  • node热加载

    node可以通过require热加载文件,这里先提一下require的加载方式:当我们第一次使用require加载模块时require会把被加载文件的绝对路径作为key存放在req…

    Linux 2023年6月14日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球