我有二进制文件,例如包含utf8字符串。
4F 00 4B 00
我试图读取这些数据并将其写入文本文件,但是当我执行以下操作时:
data.toString('utf8');
我得到了输出:
O K
记下00
中解释的两个空格。有没有办法指定我使用2字节小端字符?我想如果这不包含ascii字符,这实际上会破坏并产生垃圾数据而不是额外的空格。
答案 0 :(得分:0)
问题可能在于您正在阅读,而不是写字符串。您共享的字符串不是UTF-8,它是UTF-16。所以我想你想要的是读取字符串为UTF-16并将其写为UTF-8。
具体来说,这是UTF-16LE。