Code Unit

Encoding & Standards

Tổ hợp bit tối thiểu dùng để mã hóa một ký tự: 8 bit cho UTF-8, 16 bit cho UTF-16 và 32 bit cho UTF-32.

A code unit is the fundamental building block of a Unicode encoding form. It's important to distinguish code units from code points — a single code point may require multiple code units depending on the encoding.

In UTF-8, a code unit is 8 bits (1 byte). The emoji 😀 requires 4 code units. In UTF-16, a code unit is 16 bits (2 bytes). The same emoji requires 2 code units (a surrogate pair). In UTF-32, it's 1 code unit (4 bytes).

Many programming language string APIs operate on code units rather than code points, which is why string length calculations can be confusing with emoji.

Thuật ngữ liên quan

Surrogate Pair Surrogate Pair
Hai đơn vị mã UTF-16 (một surrogate cao U+D800-U+DBFF theo sau là một surrogate thấp U+DC00-U+DFFF) cùng nhau đại diện cho một ký tự trên U+FFFF.
UTF-16 UTF-16
Kiểu mã hóa Unicode có chiều rộng thay đổi, dùng 2 hoặc 4 byte cho mỗi ký tự, được JavaScript, Java và Windows dùng nội bộ.
UTF-32 UTF-32
Kiểu mã hóa Unicode có chiều rộng cố định, dùng đúng 4 byte cho mỗi ký tự, cho phép ánh xạ trực tiếp điểm mã nhưng tốn nhiều bộ nhớ …
UTF-8 UTF-8
Kiểu mã hóa Unicode có chiều rộng thay đổi, dùng từ 1 đến 4 byte cho mỗi ký tự, thống trị trên web (98%+ website sử dụng).

Công cụ liên quan

🔢 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.