繁体   English   中英

如何在 JavaScript 中转换 unicode?

[英]How to convert unicode in JavaScript?

我正在使用谷歌地图 API。 请参阅此JSON 响应

HTML 指令是这样写的:

"html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eEnggårdsgade\u003c/b\u003e"

如何在 JavaScript 中转换 unicodes \<\> \<等?

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

'\u003cb\u003eleft\u003c/b\u003e' == '<b>left</b>'; // true

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

由于现代 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>"

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

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

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

这个小功能可能会有所帮助

String.prototype.toUnicode = function(){
    var hex, i;
    var result = "";
    for (i=0; i<this.length; i++) {
        hex = this.charCodeAt(i).toString(16);
        result += ("\\u00"+hex).slice(-7);
    }

    return result;
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM