Handle Unicode text, emoji, encoding, normalization, code points, and safe storage.
Lessons
Know the difference between byte length and character length.
Bytes vs Characters is easiest to learn by reading the example, changing it, and observing the result.
// UTF-8 uses 1-4 bytes per code point
const text = 'A é あ 😀';
const bytes = new TextEncoder().encode(text); // UTF-8 bytes
console.log('Byte length:', bytes.length); // more than char count
console.log('Char (code point) count:', [...text].length);
// A = 1 byte (U+0041)
// é = 2 bytes (U+00E9)
// あ = 3 bytes (U+3042)
// 😀 = 4 bytes (U+1F600)Practice the Bytes vs Characters example in a small scratch file, then explain what changed and why.