如何处理 iOS 节点中的字符串字符解析(日语字符)?

How to handle iOS string characters parsing in node (Japanese characters)?

我 运行 遇到将 ios 字符串文件(英语 -> 日语)上传到节点服务器进行解析的问题。

该文件是 UTF-16LE,但当解析为字符串时,字符编码会丢失字符。这可能与 express 使用 utf8 读取请求文件数据导致文件数据格式错误有关。

当文件以 atom/sublime w/ utf16 编码加载时效果很好 当文件以 utf8 格式加载时,事情就崩溃了。

任何帮助都会很棒。

经过一些研究和挖掘。

利用 npm 模块 iconv-lite 解析文件缓冲区应该:

1) 将缓冲区解析为 utf16le

2) 向下转换为 utf8

3) 转换为字符串。

  if (encoding === 'utf-16le') {
    str = iconv.decode(buffer, 'utf16le');
    body = iconv.encode(str, 'utf8').toString();
  } else if (encoding === 'utf-16be') {
    str = iconv.decode(buffer, 'utf16be');
    body = iconv.encode(str, 'utf8').toString();
  } else {
    body = Buffer.concat(file.data).toString();
  }