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+00E9
UTF-8: C3 A9 (2 byte)
Binary: 11000011 10101001

Chuỗi "café":
63 61 66 C3 A9
→ 5 bytes

NFD (Decomposed)

é = U+0065 + U+0301
UTF-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 A9
NFD "café" (6 bytes): 63 61 66 65 CC 81
Bằ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.
...