Javascript Node.JS Big-Endian UCS-2
我正在使用Node.JS。支持little-endian UCS-2,但不支持我需要的big-endian。我该怎么做呢?根据维基百科的说法,所以很奇怪节点只支持little endian。你可以考虑提交一个bug。这就是说,切换endian是相当直接的,因为它只是一个字节顺序的问题。所以只需交换字节,在小端和大端之间来回移动,如下所示:Javascript Node.JS Big-Endian UCS-2,javascript,unicode,node.js,buffer,endianness,Javascript,Unicode,Node.js,Buffer,Endianness,我正在使用Node.JS。支持little-endian UCS-2,但不支持我需要的big-endian。我该怎么做呢?根据维基百科的说法,所以很奇怪节点只支持little endian。你可以考虑提交一个bug。这就是说,切换endian是相当直接的,因为它只是一个字节顺序的问题。所以只需交换字节,在小端和大端之间来回移动,如下所示: function swapBytes(buffer) { var l = buffer.length; if (l & 0x01) {
function swapBytes(buffer) {
var l = buffer.length;
if (l & 0x01) {
throw new Error('Buffer length must be even');
}
for (var i = 0; i < l; i += 2) {
var a = buffer[i];
buffer[i] = buffer[i+1];
buffer[i+1] = a;
}
return buffer;
}
函数交换字节(缓冲区){
var l=缓冲区长度;
如果(l&0x01){
抛出新错误('缓冲区长度必须为偶数');
}
对于(变量i=0;i
这就是我最后做的事。我会提交一份错误报告。或者不…显然他们不喜欢这样。