小程序
小游戏
企业微信
微信支付
扫描小程序码分享
在向设备里写入数据时,文档说类型是ArrayBuffer类型,假如我要给设备发送一个弹窗指令,不知道该怎么写这个ArrayBuffer类型的参数值,是像往常一样直接发送一个number类型的数值或字符串,再把它转成ArrayBuffer类型?这里理解起来有些困难,希望大神能解答一下,十分感谢。
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这里如果希望把字符串转换成arrayBuffer,首先需要知道设备能识别的编码格式。
以设备编码格式为acsii码为例,把AABBCC转换成对应的8位无符号整形数组是[65, 65, 66, 66, 67, 67]
那么剩下再把这个数组转换为arrayBuffer即可
const strArray = [65, 65, 66, 66, 67, 67]
const array =
new
Uint8Array(strArray.length)
strArray.forEach((item, index) => array[index] = item)
// arrayBuffer
array.buffer
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这个应该和 base64 字符串无关, 微信提供 base64ToArrayBuffer 与 arrayBufferToBase64 两个接口,只是方便开发者能够比较直观地调试返回的蓝牙二进制数据。
稍等,我让其他同事来回答一下。
我看过这个两个文章,假如要像设备发送一个AABBCC字符串,是不是要先把"AABBCC"转成base64, 再用
wx.base64ToArrayBuffer转成arrayBuffer,以此作为wx.writeBLECharacteristicValue的参数??
你好,这里可以参考一些javascript的相关文档
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/DataView
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这里如果希望把字符串转换成arrayBuffer,首先需要知道设备能识别的编码格式。
以设备编码格式为acsii码为例,把AABBCC转换成对应的8位无符号整形数组是[65, 65, 66, 66, 67, 67]
那么剩下再把这个数组转换为arrayBuffer即可
const strArray = [65, 65, 66, 66, 67, 67]
const array =
new
Uint8Array(strArray.length)
strArray.forEach((item, index) => array[index] = item)
// arrayBuffer
array.buffer
这个应该和 base64 字符串无关, 微信提供 base64ToArrayBuffer 与 arrayBufferToBase64 两个接口,只是方便开发者能够比较直观地调试返回的蓝牙二进制数据。
稍等,我让其他同事来回答一下。
我看过这个两个文章,假如要像设备发送一个AABBCC字符串,是不是要先把"AABBCC"转成base64, 再用
wx.base64ToArrayBuffer转成arrayBuffer,以此作为wx.writeBLECharacteristicValue的参数??
你好,这里可以参考一些javascript的相关文档
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/DataView