我正在使用Node.JS,Node's buffers支持小端字节序UCS-2,但不支持我需要的大端字节序。我该怎么做呢?
发布于 2011-09-18 18:43:25
根据维基百科的说法,UCS-2 should always be big-endian只支持低字节顺序,这很奇怪。你可以考虑写一个bug。也就是说,切换endian-ness非常简单,因为这只是一个字节顺序的问题。因此,只需交换字节,以便在小端和大端之间来回切换,如下所示:
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;
}https://stackoverflow.com/questions/7459332
复制相似问题