Согласно википедии, UCS-2 всегда должен быть с прямым порядком байтов , поэтому странно, что узел поддерживает только младший порядок байтов. Вы можете рассмотреть вопрос об ошибке. Тем не менее, переключение порядка байтов является довольно простым, поскольку это просто вопрос порядка байтов. Так что просто поменяйте местами байты, чтобы переходить между маленьким и старшим порядком байтов, вот так:
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;
}