ios - 如何处理 Node 中iOS字符串字符解析(日语字符)?

标签 ios node.js utf-8 utf-16 localizable.strings

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

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

当文件以 utf16 编码的atom/sublime 加载时,效果很好 当文件以 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();
  } 

关于ios - 如何处理 Node 中iOS字符串字符解析(日语字符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34668033/

相关文章:

ios - SKTexture 获取图像名称

node.js - Node js 在单个项目下创建Dialogflow Agent

node.js - 提取无法用于上传图像 native

node.js - TS2304 : Cannot find name 'Map' in node 5. 1.0, typescript 1.6.2,网络 Storm 11

python - 如何将utf-8输出重定向到txt文件

c# - youtube 嵌入 iframe 黑盒

ios - glclear() 在 ios8 opengl 中修改 glscissor() 边界之外的图像

ios - 在 mac 上通过 gcc 编译 iOS Objective-C 命令行应用程序

java - 在 Android Studio 中编码 UTF-8 的不可映射字符

utf-8 - PHP5.3 preg_match 与 Umlaute UTF-8 修饰符