JavaScript UTF-8 Characters

Working with Unicode and international characters

🌍 What is UTF-8?

UTF-8 is a character encoding that can represent any character in the Unicode standard. JavaScript strings are UTF-16 encoded, but can handle UTF-8 characters seamlessly.


// UTF-8 characters in JavaScript
let greeting = "Hello 世界! 🌍";
let emoji = "😀 😎 🚀 ❤️";
let symbols = "© ® ™ € £ ¥";

console.log(greeting);
console.log(emoji);
console.log(symbols);
                                    

Output:

Hello 世界! 🌍

😀 😎 🚀 ❤️

© ® ™ € £ ¥

UTF-8 Features

🔤

Unicode Support

Support for all world languages

let text = "Héllo Wörld";
console.log(text);
😊

Emoji Support

Modern emoji and symbols

let fun = "🎉 Party time! 🎊";
console.log(fun);
🔢

Escape Sequences

Unicode escape sequences

let heart = "\u2764"; // ❤
console.log(heart);
📏

String Length

Character counting with Unicode

let text = "café";
console.log(text.length);

🔹 Working with International Text

JavaScript handles international characters naturally:

// Different languages
let english = "Hello World";
let spanish = "Hola Mundo";
let french = "Bonjour le Monde";
let german = "Hallo Welt";
let chinese = "你好世界";
let japanese = "こんにちは世界";
let arabic = "مرحبا بالعالم";
let russian = "Привет мир";

console.log("English:", english);
console.log("Spanish:", spanish);
console.log("French:", french);
console.log("German:", german);
console.log("Chinese:", chinese);
console.log("Japanese:", japanese);
console.log("Arabic:", arabic);
console.log("Russian:", russian);

Output:

English: Hello World

Spanish: Hola Mundo

French: Bonjour le Monde

German: Hallo Welt

Chinese: 你好世界

Japanese: こんにちは世界

Arabic: مرحبا بالعالم

Russian: Привет мир

🔹 Unicode Escape Sequences

You can use Unicode escape sequences to represent special characters:

// Unicode escape sequences
let heart = "\u2764";        // ❤ (heart)
let star = "\u2605";         // ★ (star)
let music = "\u266B";        // ♫ (music note)
let copyright = "\u00A9";    // © (copyright)
let euro = "\u20AC";         // € (euro sign)

console.log("Heart:", heart);
console.log("Star:", star);
console.log("Music:", music);
console.log("Copyright:", copyright);
console.log("Euro:", euro);

// You can also use hex codes
let smiley = "\u{1F600}";    // 😀 (grinning face)
let rocket = "\u{1F680}";    // 🚀 (rocket)

console.log("Smiley:", smiley);
console.log("Rocket:", rocket);

Output:

Heart: ❤

Star: ★

Music: ♫

Copyright: ©

Euro: €

Smiley: 😀

Rocket: 🚀

🔹 String Methods with UTF-8

JavaScript string methods work with UTF-8 characters:

let text = "Café ☕ is délicious! 😋";

console.log("Original:", text);
console.log("Length:", text.length);
console.log("Uppercase:", text.toUpperCase());
console.log("Lowercase:", text.toLowerCase());

// Finding characters
console.log("Index of ☕:", text.indexOf("☕"));
console.log("Includes emoji:", text.includes("😋"));

// Slicing with Unicode
let slice = text.slice(0, 8);
console.log("Slice (0-8):", slice);

// Character at position
console.log("Character at 5:", text.charAt(5));
console.log("Character code at 5:", text.charCodeAt(5));

Output:

Original: Café ☕ is délicious! 😋

Length: 22

Uppercase: CAFÉ ☕ IS DÉLICIOUS! 😋

Lowercase: café ☕ is délicious! 😋

Index of ☕: 5

Includes emoji: true

Slice (0-8): Café ☕ i

Character at 5: ☕

Character code at 5: 9749

🧠 Test Your Knowledge

What does UTF-8 allow you to do in JavaScript?