Как конвертировать юникод в JavaScript? - PullRequest
6 голосов
/ 30 марта 2012

Я использую API Карт Google.Пожалуйста, посмотрите этот ответ JSON .

Инструкция HTML написана так:

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

Как я могу преобразовать юникоды \u003c, \u003e и т. Д.в JavaScript?

Ответы [ 4 ]

10 голосов
/ 30 марта 2012

Это escape-последовательности символов Unicode в строке JavaScript.Что касается JavaScript, то это один и тот же символ.

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

Так что вам вообще не нужно ничего конвертировать.

4 голосов
/ 30 марта 2012

вы можете использовать JSON.parse непосредственно в ответе JSON, тогда символы юникода будут автоматически преобразованы в его части счетчика html (\ u003c будет преобразован в <знак в html) </p>

JSON.parse(JSON.stringify({a : 'Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eEnggårdsgade\u003c/b\u003e'}));
1 голос
/ 18 февраля 2019

Ниже представлен более простой способ благодаря современному JS.

В ES6 / ES2015 введен метод normalize () для прототипа String, поэтому мы можем сделать:

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/

0 голосов
/ 04 февраля 2016

Эта маленькая функция может помочь

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;
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...