如何将 JavaScript 中的字符串转换为 ASCII 格式?

How to convert string to ASCII format in JavaScript?

我想将常规字符串转换为 ASCII format。这是因为我正在尝试与锁控制器通信,它不能只读取 ASCII format.

中的命令

代码如下:

var port = new SerialPort("COM5", {
  baudRate: 38400
});

    port.on('open', function() {
      port.write('close1', function(err) {
        if (err) {
          return console.log('Error on write: ', err.message);
        }
        console.log('message written');
      });
    });

基本上我想确保 close1 以 ASCII 格式而不是字符串格式进行通信。

port.write('close1', function(err) {

假设您正在使用 this SerialPort modulewrite 函数接受

Accepts a Buffer object, or a type that is accepted by the Buffer constructor (ex. an array of bytes or a string).

当你从一个字符串构造一个Buffer时,你可以告诉NodeJS使用什么编码;允许的编码之一是 ascii(默认值为 utf-8,它是字符 32-127 的 ASCII)。

所以:

// NodeJS v4 and earlier
port.write(new Buffer('close1', 'ascii'), function(err) {
  if (err) {
    return console.log('Error on write: ', err.message);
  }
  console.log('message written');
});

从 v6 开始,我们应该改用 Buffer.from

// NodeJS v6 and later
port.write(Buffer.from('close1', 'ascii'), function(err) {
  if (err) {
    return console.log('Error on write: ', err.message);
  }
  console.log('message written');
});