Преобразование юникода в символ валюты в JavaScript - PullRequest
0 голосов
/ 29 мая 2018

Я работаю с символом валюты в appcelerator для создания приложений для Android и iOS.Я хочу, чтобы многие параметры были динамическими, поэтому передаем это значение (u20b9) как api приложению.Невозможно передать значение (\ u20b9), как это, по некоторым причинам, поэтому передача без косой черты.

Когда я использую код ниже, он работает правильно: -

var unicode = '\u20b9';
alert(unicode);

Вывод: - ₹

Когда я использую код ниже: -

var unicode = '\\'+'u20b9';
alert(unicode);

Вывод: - \ u20b9

Из-за этого вместо ₹ он печатает \ u20b9 везде, что я не делаю 'не хочу

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Насколько я понимаю, вам нужно передавать строковые значения символов Юникода через API.Очевидно, что вы не можете использовать строковый код без косой черты, потому что это сделает его недопустимым юникодом, и если вы передадите косую черту, это преобразует значение в юникод.Итак, что вы можете сделать здесь, это передать строку без слеша и символа 'u', а затем проанализировать оставшиеся символы в шестнадцатеричном формате.

См. Следующий фрагмент кода:

// this won't work as you have included 'u' which is not a hexadecimal character
var unicode = 'u20b9';
String.fromCharCode(parseInt(unicode, 16));


// It WORKS! as the string now has only hexadecimal characters
var unicode = '20b9';
String.fromCharCode( parseInt(unicode, 16) ); // prints rupee character by using 16 as parsing format which is hexadecimal

Я надеюсь,это решает ваш запрос!

0 голосов
/ 29 мая 2018

У меня работает следующее:

console.log(String.fromCharCode(0x20aa)); // ₪ - Israeli Shekel
console.log(String.fromCharCode(0x24)); // $ - US Dollar
console.log(String.fromCharCode(0x20b9)); // ₹ - ???

alert(String.fromCharCode(0x20aa) + "\n" + String.fromCharCode(0x24) + "\n" + String.fromCharCode(0x20b9));
...