微信小程序被套之路

前言

        最近微信更新了小程序的API,个人对微信小程序可以跨平台这特性很感兴趣,所以也赶赶潮流,来尝试下。关于小程序开发环境的安装、调试、API调用,官方文档的资料已经很丰富了,我就不重复了,这里主要记录下我在小程序开发这路上踩到的坑,被套过的路。

        文章会持续保持更新,记录每个有收获的点,文中知识点如若有误,敬请留言指正。

一、arrayBuffer如何转换成中文

       最近在调试蓝牙模块,发现数据是通过arrayBuffer接收的,而且每次接收字节的最长长度为20个字节,所以每次接收后,得先把arrayBuffer转换为unit8Array,将多次接收到的数据拼接起来。问题来了,数据接收之后,要将其还原,也就是中文的就该以中文显示,数字的就该以数字显示。折腾了一晚上,都没找到合适的unit8array to chinese的方法。后来发现,unit16array可以转为汉字,但问题又出现了,unit8array如何转为unit16array?还有待研究。

    补充:问题解决了,沿用的是上面提到的思路:将uint8Array转换为arrayBuffer,再将arrayBuffer转换为uint16Array.代码截图如下:


array与汉字转换

既然arrayBuffer可以直接转换为uint16Array,中间为何要多周转unit8Array这一步呢? 原因是蓝牙接收过来的通常是通信命令,每条命令都是有指定格式的,在完整接收了一条命令后,往往需要先做一些检验,才进行下一步转换。

还有一个问题:为何只有uint16Array可以正确转换,而uint8Array就不行呢?---因为String.fromCharCode(numX,numX,...,numX)方法接收的是指定的 Unicode 值,通过Unicode值就可以直接获取到相应的字符。

其实还有一种解决思路:将2位uint8Array数组,合并为1位uint16Array,也可以实现同样的功能。


二、苹果蓝牙与安卓蓝牙连接方式不同点

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载链接 注:本文转载知乎上的回答 作者:初雪 链接:https://www.zhihu.com/question...
    pengshuangta阅读 28,772评论 9 295
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,251评论 4 61
  • 今天的日历是关于“成长”,前段时间我也发了两篇千字文讲了讲我对“自我发展”的理解,尤其是区分“技术性”和“适应性”...
    沈磊阅读 529评论 0 0
  • 目前全球唯一一家网上抗衰老专卖店 公司两大系统一个是:细胞优化管理系统!一个是交互式网购系统!
    琼亚阅读 159评论 0 1