用于UTF-8的Javascript解析器?

时间:2018-06-07 18:43:48

标签: javascript utf-8

我查看了许多问题,但没有看到一个有效的问题。我正在使用UCWA API响应,其中返回以下内容以接收传入消息:

数据:文本/无格式;字符集= UTF-8,喜+玛雅

目标是捕获输入文本" hi maya"。我尝试在split上执行string以捕获逗号之后的所有内容,并且我也尝试了decodeURIComponent(msg.msgIn)。我还查看了nodejs的缓冲区。 这两个人都没有工作,所以会很感激如何解析这个问题。

另外,我在这里看了类似的帖子,它与下载文件有关。我不想下载文件 - 只需直接从api响应中获取字符串。

感谢。

1 个答案:

答案 0 :(得分:0)

decodeURIComponent doesn't "decode" +es into spaces。去搞清楚。解决方案是首先自己做这件事:

function decodeDataUri(uri) {
  const data = uri.slice(uri.indexOf(',') + 1);
  return decodeURIComponent(data.replace(/\+/g, ' '));
}

console.log(decodeDataUri('data:text/plain;charset=utf-8,hi+maya'));