小程序字节转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)

大家都在看

  • go语言接口

    接口在底层的实现有两个部分:type 和 data。 在源码中,显式地将 nil 赋值给接口时,接口的 type 和 data 都将为 nil。此时,接口与 nil 值判断是相等的…

    Linux 2023年6月13日
    064
  • Netty 如何高效接收网络数据?一文聊透 ByteBuffer 动态自适应扩缩容机制

    本系列Netty源码解析文章基于 4.1.56.Final版本,公众号:bin的技术小屋,大家如果看到图片显示不了的话,可以查看公众号原文 前文回顾 在前边的系列文章中,我们从内核…

    Linux 2023年6月6日
    0101
  • 1.2

    数字信号为什么不能远程传播?高频率->传的短 容易被干扰 答案是可以的。 数字信号传输编码的目的:保证数据传送的可靠性 数据传输的关键指标: 延迟和吞吐量 posted @2…

    Linux 2023年6月6日
    090
  • 剑指offer计划19( 搜索与回溯算法中等)—java

    1.1、题目1 剑指 Offer 64. 求1+2+…+n 1.2、解法 这题看评论区真的绝了,都是人才,各个说话都好听,我看到个还有用异常来结束的就离谱。这题用了&a…

    Linux 2023年6月11日
    088
  • shell多线程运行程序

    #!/bin/bash function my_cmd(){ sleep 1 } date tmp_fifofile="/tmp/$$.fifo" mkfifo…

    Linux 2023年6月6日
    0110
  • 如何在CentOS 6.3上安装nslookup

    nslookup是bind-utils软件包的一部分。请注意,host、dig和nslookup也是bind工具的一部分。如果没有安装bind-utils包,当你尝试nslooku…

    Linux 2023年6月7日
    0108
  • 编译iPhone静态库的Makefile实例(与Shell脚本一起完成)

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/cy568searchx/p/5735419.htmlA…

    Linux 2023年5月28日
    0108
  • Linux i3 用户手册(简要)

    i3 用户手册 与(mod一起使用的键 一般为Win键或为Alt键, 可以和与 Shift+\)mod 一起使用 按键参考图 红色键是您需要按下的修饰符(默认情况下),蓝色键是您的…

    Linux 2023年6月7日
    080
  • Vim 常规教程

    vim 入门到进阶 vim 有四种使用模式 编辑模式, 按 ESC切换 写入模式, 在编辑模式 按 a i 切换 可选模式, 在编辑模式 按 v V 切换 命令模式, 在编辑模式 …

    Linux 2023年6月7日
    0120
  • 插入排序算法C语言实现

    插入排序算法C语言实现 我写出来的排序算法用printf一步步解读,与google algorithm APP上模拟的单步执行不一致。 于是参考了https://www.cnblo…

    Linux 2023年6月14日
    0114
  • 作业一、安装Ubuntu系统

    Ubuntu1804安装 一、安装环境 1、VMware Workstation 16 Pro 2、Ubuntu 18.04.6 LTS 二、部署系统 步骤1、进入VMware,点…

    Linux 2023年6月13日
    082
  • Tensorflow

    1.什么是Tensorflow? Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。 它支持CNN…

    Linux 2023年6月6日
    089
  • Question09-查询学过编号为”01″并且也学过编号为”02″的课程的同学的信息

    * — 学过01,且学过02 — 学过01 SELECT sc.SID FROM SC sc WHERE sc.CID = ’01’; — 学过02 SELECT sc.SI…

    Linux 2023年6月7日
    088
  • linux自动备份mysql数据库

    备份脚本记录一下–(单个数据库) 2021-11-15 1.新建shell脚本:vim **.sh #!/bin/bashCKUP=/data/backup/db #获…

    Linux 2023年5月27日
    0111
  • WEB自动化-11-数据驱动

    11 数据驱动 数据驱动是测试框架中一个非常好的功能,使用数据驱动,可以在不增加代码量的情况下生成不同的测试策略。下面我们来看看在Cypress中的数据驱动使用方法。 11.1 数…

    Linux 2023年6月7日
    0111
  • FTP文件服务的安装与部署

    FTP(文件传输协议)概念 FTP基于C/S模式,FTP客户端与服务器端有两种传输模式,分别是FTP主动模式、FTP被动模式,主被动模式均是以FTP服务器端为参照。企业实际环境中,…

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