Serialport nodejs奇怪的字符
我尝试接收celestron nexstar goto系统的goto固件版本。Serialport nodejs奇怪的字符
我使用串口库收到一些数据,但收到一些奇怪的字符,白蚁是唯一显示好字符的软件。
下面是我收到的数据和白蚁显示的数据的示例。从的node.js
的SerialPort:♦§#
白蚁:[04] [15]#
下面是连接到安装件,并显示所接收的数据的代码:
var telescope = new serial(port.comName, {
baudRate: 9600,
stopBits: 1,
parity: 'none'
});
telescope.on('open', function() {
telescope.on('data', function (data) {
console.log('Data : ' + data);
});
telescope.write('V');
});
有没有什么方法可以显示好的数据?我搜索,我认为这是一个编码问题
感谢您的帮助!
这里发生的事情是Termite以[xx]
的形式显示控制字符(有几个例外),其中xx
是控制字符的十六进制值。但是在节点中,您隐式地将整个传入数据视为UTF-8。
您可能通过检查每个字节值并在括号中打印十六进制值(如果它是控制字符或将字符写入标准输出)来模拟白蚁的行为。
好吧,好像有点复杂:我是否必须编写或使用另一个解析器(我使用原始解析器)? –
这取决于你正在处理的数据的种类。如果它是二进制数据,那么最好继续使用原始解析器。如果它是一个shell会话或其他文本数据,那么行解析器可能会更好? – mscdex
如何将'\ x5b \ x30 \ x34 \ x5d \ x5b \ x31 \ x35 \ x5d \ x23' **转换为**'§#'? – dsgdfg