Lesson 01 — Character Encoding
1. Text → UTF-8 byte breakdown
Nhập chuỗi bất kỳ (tiếng Việt, emoji, CJK...) để xem từng ký tự encode thành bao nhiêu byte UTF-8.
2. UTF-8 Decode — bytes → code point (step-by-step)
Nhập chuỗi hex bytes (cách nhau bằng space) để decode step-by-step.
Nhập hex bytes và bấm Decode...
3. So sánh UTF-8 vs UTF-16 vs UTF-32
4. NFC vs NFD — Normalization demo
Ký tự é có 2 cách biểu diễn trong Unicode. Dù nhìn giống nhau, bytes lại khác nhau!
NFC (Composed)
é = U+00E9UTF-8: C3 A9 (2 byte)
Binary: 11000011 10101001
Chuỗi "café":
63 61 66 C3 A9
→ 5 bytes
NFD (Decomposed)
é = U+0065 + U+0301UTF-8: 65 CC 81 (3 byte)
Binary: 01100101 11001100 10000001
Chuỗi "café" (NFD):
63 61 66 65 CC 81
→ 6 bytes
NFC "café" (5 bytes):
63 61 66 C3 A9NFD "café" (6 bytes):
63 61 66 65 CC 81Bằng nhau? → FALSE (bytes khác dù nhìn giống)
Giải pháp: normalize cả hai về NFC trước khi so sánh.
...