Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I convert a string into a unicode character?

In Javascript '\uXXXX' returns in a unicode character. But how can I get a unicode character when the XXXX part is a variable?

For example:

var input = '2122'; console.log('\\u' + input);             // returns a string: "\u2122" console.log(new String('\\u' + input)); // returns a string: "\u2122" 

The only way I can think of to make it work, is to use eval; yet I hope there's a better solution:

var input = '2122'; var char = '\\u' + input; console.log(eval("'" + char + "'"));    // returns a character: "™" 
like image 737
Harmen Avatar asked Aug 15 '11 09:08

Harmen


People also ask

How do I create a Unicode character?

Inserting Unicode characters To insert a Unicode character, type the character code, press ALT, and then press X. For example, to type a dollar symbol ($), type 0024, press ALT, and then press X.

How do you Unicode a string in Python?

To allow working with Unicode characters, Python 2 has a unicode type which is a collection of Unicode code points (like Python 3's str type). The line ustring = u'A unicode \u018e string \xf1' creates a Unicode string with 20 characters.

What is a Unicode character string?

Unicode is a standard encoding system that is used to represent characters from almost all languages. Every Unicode character is encoded using a unique integer code point between 0 and 0x10FFFF . A Unicode string is a sequence of zero or more code points.


2 Answers

Use String.fromCharCode() like this: String.fromCharCode(parseInt(input,16)). When you put a Unicode value in a string using \u, it is interpreted as a hexdecimal value, so you need to specify the base (16) when using parseInt.

like image 197
Digital Plane Avatar answered Sep 22 '22 10:09

Digital Plane


String.fromCharCode("0x" + input)

or

String.fromCharCode(parseInt(input, 16)) as they are 16bit numbers (UTF-16)

like image 22
Raynos Avatar answered Sep 24 '22 10:09

Raynos