我正在开发一个javascript/nodejs应用程序,它需要与c++ tcp/udp套接字通信。似乎我从旧的c++客户端得到了一个utf16缓冲区。我没有找到一个解决方案,现在把它转换成一个可读的字符串,另一个方向似乎是同样的问题。
这两个方向有捷径吗?
好问候
如果您有一个utf -16编码的缓冲区,您可以将其转换为UTF-8 Javascript字符串,如下所示:
let string = buffer.toString('utf16le');
要从流中读取这些,最简单的方法是在最后使用convert To string:
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')