如何在JavaScript中转换unicode?

dhr*_*hrm 6 javascript unicode google-maps-api-3

我正在使用Google Maps API.请参阅此JSON响应.

HTML指令的编写方式如下:

"html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eEnggårdsgade\u003c/b\u003e"
Run Code Online (Sandbox Code Playgroud)

我怎么能转换统一码\u003c,\u003e等在JavaScript?

Mat*_*ens 10

这些是JavaScript字符串中的Unicode字符转义序列.就JavaScript而言,它们是相同的角色.

'\u003cb\u003eleft\u003c/b\u003e' == '<b>left</b>'; // true
Run Code Online (Sandbox Code Playgroud)

因此,您根本不需要进行任何转换.

  • 我想使用JavaScript将字符串添加到div中,所以我需要`<b>`而不是`\ u003cb\u003e`. (2认同)
  • @DennisMadsen正如我刚刚告诉你的那样,它们完全相同!试试吧:`document.body.innerHTML ='\ u003cb\u003eleft\u003c/b\u003e';`与`document.body.innerHTML ='<b> left </ b>'具有完全相同的效果; . (2认同)

Dag*_*nqx 6

由于现代 JS ,下面是一种更简单的方法。

ES6 / ES2015 在 String 原型上引入了 normalize() 方法,所以我们可以这样做:

var directions = "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eEnggårdsgade\u003c/b\u003e";

directions.normalize();

//it will return : "Turn <b>left</b> onto <b>Enggårdsgade</b>"
Run Code Online (Sandbox Code Playgroud)

参考这篇文章:https : //flaviocopes.com/javascript-unicode/

  • 长时间搜索后的最佳答案 (2认同)

Sak*_*tel 5

您可以直接在JSON响应上使用JSON.parse,然后Unicode字符将自动转换为html计数器部分(\ u003c将转换为<登录html)

JSON.parse(JSON.stringify({a : 'Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eEnggårdsgade\u003c/b\u003e'}));
Run Code Online (Sandbox Code Playgroud)

  • 不,不转换!与HTML无关!请参阅Mathias的答案。甚至可以认为它会转换为&lt; 在* HTML * .-)中 (2认同)