读取2字节utf8二进制数据

时间:2018-03-12 00:01:03

标签: node.js buffer binaryfiles endianness

我有二进制文件,例如包含utf8字符串。

  

4F 00 4B 00

我试图读取这些数据并将其写入文本文件,但是当我执行以下操作时:

data.toString('utf8');

我得到了输出:

  

O K

记下00中解释的两个空格。有没有办法指定我使用2字节小端字符?我想如果这不包含ascii字符,这实际上会破坏并产生垃圾数据而不是额外的空格。

1 个答案:

答案 0 :(得分:0)

问题可能在于您正在阅读,而不是写字符串。您共享的字符串不是UTF-8,它是UTF-16。所以我想你想要的是读取字符串为UTF-16并将其写为UTF-8。

具体来说,这是UTF-16LE。