Trình kiểm tra Unicode — điểm mã, byte UTF-8 và UTF-16
Lập trìnhTrình kiểm tra Unicode là công cụ dành cho lập trình viên, phân tách một chuỗi thành các điểm mã và hiển thị mã U+, byte UTF-8, đơn vị UTF-16 và tên (hoặc khối) của từng ký tự.
Trang này được dịch với sự hỗ trợ của AI và chưa được chuyên gia rà soát. Hãy kiểm tra các nguồn trích dẫn trước khi dùng cho quyết định quan trọng.
Giới thiệu
Unicode gán cho mỗi ký tự một số duy nhất (điểm mã, U+0000–U+10FFFF), trong khi UTF-8 và UTF-16 là các cách mã hóa lưu những số đó dưới dạng byte. Cùng một ký tự có thể chiếm 1–4 byte trong UTF-8 và 2 hoặc 4 byte trong UTF-16 (cặp thay thế), đây là nguồn phổ biến của các lỗi độ dài chuỗi. Công cụ này tính tên chuẩn cho các âm tiết Hangul và chữ tượng hình CJK, và hiển thị khối Unicode cho các ký tự khác. Việc phân tích chạy hoàn toàn trên trình duyệt của bạn.
Cách dùng
- 1Dán chuỗi cần kiểm tra (emoji và mọi hệ chữ đều được).
- 2Nhấn kiểm tra.
- 3Đọc điểm mã, byte UTF-8/UTF-16 và tên của từng ký tự, rồi sao chép báo cáo.
Tham khảo
| Ký tự | Điểm mã | UTF-8 | UTF-16 |
|---|---|---|---|
| A | U+0041 | 41 | 0041 |
| 한 | U+D55C | ED 95 9C | D55C |
| € | U+20AC | E2 82 AC | 20AC |
| 😀 | U+1F600 | F0 9F 98 80 | D83D DE00 |
Nguồn và tiêu chuẩn
- The Unicode Standard - Unicode Consortium
- RFC 3629: UTF-8, a transformation format of ISO 10646 - IETF
- MDN Web Docs: Client-side web APIs - MDN Web Docs
Câu hỏi thường gặp
Tại sao một emoji lại được tính là độ dài 2 trong JavaScript?
Vì độ dài của chuỗi đếm theo đơn vị UTF-16. Các emoji trên U+FFFF được lưu dưới dạng một cặp thay thế (hai đơn vị), nên độ dài là 2. Cột UTF-16 trong công cụ này hiển thị các đơn vị thực tế.
Công cụ có hiển thị tên chính thức của mọi ký tự không?
Không. ASCII, các âm tiết Hangul và chữ tượng hình CJK được tính tên chuẩn bằng thuật toán; các ký tự khác hiển thị tên khối Unicode của chúng. Xem Unicode Character Database (UCD) để có đầy đủ tên chính thức.
Chuỗi của tôi có được gửi lên máy chủ không?
Không. Việc kiểm tra diễn ra trên trình duyệt của bạn và đầu vào không bao giờ được truyền đi.