【问题标题】:Template literal, weird output模板文字,奇怪的输出
【发布时间】:2021-03-27 15:12:19
【问题描述】:

我正在使用基于 TCP/IP 的 ASTM 处理一些实验室设备。得到一些奇怪的行为。仅使用 Node 和 net 包。

socket.on('data', data => {
        let str = data.toString('ascii');
        console.log(`the string ---- ${str}`);
    if (str === ENQ) {
        socket.write(ACK);
    } else {
        console.log(str);
    }

outputs (given correct input):
E1 string ----  1H|\^&|||1^Analyzer 1^6.0|||||||P||20201216150358
E1|\^&|||1^Analyzer 1^6.0|||||||P||20201216150358

我需要破折号后顶行的内容,但是“The”变成了 E1,然后 E1 向下移动到下一行并替换了 1H。这里发生了什么?我希望它只是与 console.log 有关,所以我仍然可以得到我正在寻找的结果。

【问题讨论】:

    标签: javascript buffer console.log template-literals control-characters


    【解决方案1】:

    所以看起来有些控制字符使输出变得奇怪。在行尾,行尾有一个 CR 和 ETX,后面是行的校验和。因此,回车似乎将光标发送回行首并将 ETX 和校验和代替“The”

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 2012-06-19
      • 1970-01-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 2018-07-22
      相关资源
      最近更新 更多