我正在尝试从javascript字符串构造一个utf16le字符串作为新的缓冲区对象。
看来设置一个新缓冲区('xxxxxxxxxx',utf16le)的长度实际上是预期的1/2。比如我们只会在控制台日志中看到5个。
var test = new Buffer('xxxxxxxxxx','utf16le');
for (var i=0;i<test.length;i++) {
console.log(i+':'+String.fromCharCode(test[i]));
}
节点版本为v0.8.6
答案 0 :(得分:0)
目前还不清楚你想在这里完成什么。你的陈述可能意味着(至少)两件事:
您在代码示例中所做的是将表示为UTF-16-LE的字符串中的字节数组解码为UTF-8字符串并将其存储为缓冲区。直到你实际陈述你想要完成的事情,你才有机会得到一致的答案。
new Buffer('FF', 'hex')
将产生长度为1的缓冲区,并设置八位位组的所有位。这可能与你的想法相反。