Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
How do I print Unicode characters in the console using JavaScript?
In this article, we will learn how to print Unicode characters in the console using JavaScript. Unicode assigns a unique number (code point) to each character, enabling consistent representation across different platforms and languages.
Unicode is a universal character encoding standard that includes letters from most writing systems, punctuation marks, mathematical symbols, technical symbols, arrows, emoji, and other symbols. JavaScript provides several ways to work with Unicode characters in strings and console output.
Using Escape Sequences
JavaScript supports Unicode escape sequences to represent characters using their code point numbers. The most common format uses \u followed by a 4-digit hexadecimal number.
Syntax
\uXXXX // 4-digit hex (Basic Multilingual Plane)
\u{XXXXX} // Variable length hex (ES6+)
Parameters
The \u prefix is followed by a hexadecimal number with exactly 4 digits for basic Unicode, or variable length inside braces for extended Unicode characters.
Example
The following example demonstrates printing Unicode characters using escape sequences:
<html>
<head>
<title>JavaScript Unicode</title>
</head>
<body>
<h2>Using escape sequences in Unicode</h2>
<script>
const s = 'I\u0020learn \u0055nicode';
console.log(s);
document.write(s + "<br>");
const s1 = 'Happy face \uD83D\uDE00';
console.log(s1);
document.write(s1 + "<br>");
const s2 = 'Cat face \u{1F639}';
console.log(s2);
document.write(s2 + "<br>");
document.write("<br>Check the console for output.");
</script>
</body>
</html>
I learn Unicode Happy face ? Cat face ?
String Comparison with Unicode
When comparing strings containing Unicode characters, JavaScript compares the actual code units. Strings that appear visually identical may have different Unicode representations.
Example
This example shows how Unicode affects string comparison:
<html>
<head>
<title>JavaScript Unicode</title>
</head>
<body>
<h2>Unicode string comparison</h2>
<script>
const firstS = 'hello';
const secondS = '\u0068ell\u006F';
console.log('Strings equal:', firstS === secondS);
document.write('Strings equal: ' + (firstS === secondS) + '<br>');
// Different Unicode representations of 'ç'
const s1 = 'çava bien';
const s2 = 'c\u0327ava bien';
console.log('s1:', s1);
console.log('s2:', s2);
console.log('Visually same but equal?', s1 === s2);
document.write('s1: ' + s1 + '<br>');
document.write('s2: ' + s2 + '<br>');
document.write('Equal: ' + (s1 === s2));
</script>
</body>
</html>
Strings equal: true s1: çava bien s2: çava bien Equal: false
Unicode in Variable and Function Names
JavaScript allows Unicode characters in identifiers (variable and function names), making it possible to use non-English characters for naming.
Example
This example demonstrates using Unicode escape sequences in variable and function names:
<html>
<head>
<title>JavaScript Unicode</title>
</head>
<body>
<h2>Unicode in identifiers</h2>
<script>
// Variable name using Unicode (spells 'foo')
var f\u006F\u006F = 'TutorialsPoint';
console.log('Variable value:', foo);
document.write('Variable value: ' + foo + '<br>');
// Function name using Unicode (spells 'multiply')
function multip\u006Cy(a, b) {
return a * b;
}
let result = multiply(3, 4);
console.log('Function result:', result);
document.write('Function result: ' + result);
</script>
</body>
</html>
Variable value: TutorialsPoint Function result: 12
Common Unicode Examples
| Character | Unicode Escape | Description |
|---|---|---|
| @ | \u0040 | At sign |
| ? | \u20AC | Euro sign |
| ? | \uD83D\uDE0A | Smiling face |
| ? | \u2665 | Heart symbol |
Conclusion
JavaScript provides robust support for Unicode characters through escape sequences, allowing you to display international characters, symbols, and emoji in console output. Remember that visually identical strings may have different Unicode representations, affecting string comparisons.
