Cụm grapheme

Technical/Unicode

Một ký tự mà người dùng nhìn thấy như một đơn vị, có thể được tạo thành từ nhiều điểm mã Unicode hiển thị cùng nhau như một đơn vị hình ảnh duy nhất.

A grapheme cluster is what a user sees as "one character" on screen, even though it may be encoded as several code points. This concept is crucial for emoji because many emoji are composed of multiple code points.

For example, a flag emoji like 🇰🇷 is two Regional Indicator code points. A person emoji with skin tone like 👍🏽 is two code points (the gesture + a modifier). ZWJ sequences can combine even more.

Programming languages differ in how they handle grapheme clusters. JavaScript's `.length` counts UTF-16 code units, so `'👨‍👩‍👧'.length` returns 8, not 1. Proper grapheme-aware APIs (like `Intl.Segmenter`) return the expected count of 1.

Thuật ngữ liên quan

Điểm mã Điểm mã
Giá trị số duy nhất được gán cho mỗi ký tự trong tiêu chuẩn Unicode, được viết theo định dạng U+XXXX (ví dụ: U+1F600 cho 😀).
ICU (ICU) ICU (ICU)
International Components for Unicode — thư viện mã nguồn mở được sử dụng rộng rãi, cung cấp hỗ trợ Unicode và quốc tế hóa, bao gồm xử lý emoji.
Zero Width Joiner (ZWJ) Zero Width Joiner (ZWJ)
Ký tự Unicode vô hình (U+200D) dùng để ghép nhiều emoji thành một emoji tổng hợp, chẳng hạn kết hợp người và vật thể thành emoji nghề nghiệp.

Công cụ liên quan

🔍 Trình phân tích chuỗi Trình phân tích chuỗi
Giải mã chuỗi ZWJ, modifier tông màu da, chuỗi phím và cặp cờ thành các thành phần riêng lẻ.
🔢 Tra cứu Unicode Tra cứu Unicode
Nhập codepoint như U+1F600 để nhận emoji, chi tiết mã hóa, byte UTF-8/16 và HTML entity.