收藏
回答

蓝牙打印机打印中文乱码


macbook,老版本开发工具,版本0.22.203100 (0.22.203100)。使用打印机GP-58MBIII打印小票,经典蓝牙。可以使用指令控制打印格式,可以打印字母数字等,但汉字就乱码,效果如下。另,小程序目前只支持低功耗蓝牙,是指根本不能发现和连接经典蓝牙设备,还是如下图所示,打印不正常。以后是否会支持经典蓝牙?哪位给个解答~


附字符串转ArrayBuffer代码:


function str2ab(str) {

    // 19968-40869

    var buffer = new ArrayBuffer(str.length * BYTE_PER_ELEMENT)

    var dataView = new Uint16Array(buffer)

    var array = []

    for (var i = 0, len = str.length; i < len; i++) {

        var uniStr = str.charCodeAt(i)

        console.log('unistr = ' + uniStr + ',' + str.charAt(i))

        if (uniStr >= 18868 && uniStr <= 40869) {

            // 如果是中文

            

        }

        dataView[i] = uniStr

    }

    return buffer

}





最后一次编辑于  2017-09-16
回答关注问题邀请回答
收藏

16 个回答

  • 曾家琦
    曾家琦
    2019-04-15

    请问你们解决了中文乱码问题了吗?我现在也遇到这个问题。求大神帮忙

    2019-04-15
    有用
    回复 1
    • 第五日凌晨
      第五日凌晨
      2019-05-30


      这个应该能帮到你

      2019-05-30
      回复
  • 第五日凌晨
    第五日凌晨
    2018-05-07

    @范范范先森 dataView.setUint8()方法传参有误吧

    2018-05-07
    有用
    回复
  • 小刘
    小刘
    2018-04-26

    请问你们解决了中文乱码问题了吗?

    2018-04-26
    有用
    回复
  • H
    H
    2018-04-19

    测试下来,这款打印机的蓝牙似乎是低功耗的

    2018-04-19
    有用
    回复
  • 范范范先森
    范范范先森
    2018-02-06

    @第五日凌晨

    请教一下怎么打印啊,发送的数据是规定什么格式的吗?


    我这个提示指令发送成功,打印机没反应呢。

    想问一下这个value 怎么设置呢

    2018-02-06
    有用
    回复
  • Lil Qte
    Lil Qte
    2017-11-29

    @%004A%004F%0045 可以详细请教一下编码的问题吗 我现在遇到了乱码的情况

    2017-11-29
    有用
    回复
  • 勇
    2017-10-24

    @第五日凌晨  数字,字母你是怎么转换的,

    2017-10-24
    有用
    回复
  • 第五日凌晨
    第五日凌晨
    2017-10-06

    @王翊夫if mac和真机都试了,结果一样。我问过商家这款打印机不是低功耗,但是API可以用,我该怎么理解。

    2017-10-06
    有用
    回复
  • 王翊夫if
    王翊夫if
    2017-09-18

    iOS提供的只是低功耗蓝牙接口,你是在Mac上调试还是iOS真机上调试?

    2017-09-18
    有用
    回复
  • 第五日凌晨
    第五日凌晨
    2017-09-16

    @%004A%004F%0045 明天我用安卓测一下,有结论再给你回复吧

    2017-09-16
    有用
    回复

正在加载...

登录 后发表内容