我正在开发一个需要与C++ tcp/udp套接字通信的JavaScript/Node.js应用程序。似乎我从旧的C++客户端获得了UTF16缓冲区。目前我还没有找到将其转换为可读字符串的解决方案,而另一方向似乎也存在同样的问题。
这两个方向有没有简单的方法?
祝好!
我正在开发一个需要与C++ tcp/udp套接字通信的JavaScript/Node.js应用程序。似乎我从旧的C++客户端获得了UTF16缓冲区。目前我还没有找到将其转换为可读字符串的解决方案,而另一方向似乎也存在同样的问题。
这两个方向有没有简单的方法?
祝好!
let string = buffer.toString('utf16le');
要从流中读取这些数据,最简单的方法是在最后将其转换为字符串:
let chunks = [];
stream.on('data', chunk => chunks.push(chunk))
.on('end', () => {
let buffer = Buffer.concat(chunks);
let string = buffer.toString('utf16le');
...
});
将JS字符串转换为UTF-16:
let buffer = Buffer.from(string, 'utf16le')
.toString('utf16le');
在通过GSM短信发送带有重音字母时非常有用。 - Azevedo