微信小程序 蓝牙打印机

新手上路,请多包涵

已经连接到打印机了,但是打印出乱码。 现在的问题是小程序的蓝牙接口要求写入数据为 ArrayBuffer 形式,而打印机那边需要接受 gb2312 的格式。 我将打印命令保存在本地,应该如何将字符串转换成 gb2312,再转换成 ArrayBuffer? 大佬们求救~

阅读 6.9k
2 个回答
新手上路,请多包涵

使用这个库 iconv-lite

import iconv from "iconv-lite"
let toWrite = iconv.encode(item.values, 'GBK');
let base64Value = toWrite .toString('base64');

var hex = strToHexCharCode("! 0 200 200 560 1") + "0D0A" +

   strToHexCharCode("PAGE-WIDTH 450") + "0D0A" + 
   strToHexCharCode("TEXT 24 2 20 80 你好") + strToHexCharCode(str) + "0D0A"+
    strToHexCharCode("PRINT") + "0D0A" 
  var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) { return parseInt(h, 16) }))
  var buffer1 = typedArray.buffer
  请问一下你好打印出来是乱码,怎么才能解决呢谢谢~
推荐问题