Tham chiếu HTML Unicode (UTF-8)
Hiệp hội Unicode
Unicode Consortium phát triển Tiêu chuẩn Unicode. Mục tiêu của họ là thay thế các bộ ký tự hiện có bằng Định dạng Chuyển đổi Unicode (UTF) tiêu chuẩn của nó.
Chuẩn Unicode đã trở nên thành công và được triển khai trong HTML, XML, Java, JavaScript, E-mail, ASP, PHP, v.v ... Chuẩn Unicode cũng được hỗ trợ trong nhiều hệ điều hành và tất cả các trình duyệt hiện đại.
Unicode Consortium hợp tác với các tổ chức phát triển tiêu chuẩn hàng đầu như ISO, W3C và ECMA.
Bộ ký tự Unicode
Unicode có thể được thực hiện bởi các bộ ký tự khác nhau. Các mã hóa được sử dụng phổ biến nhất là UTF-8 và UTF-16:
Character-set | Description |
---|---|
UTF-8 | A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages |
UTF-16 | 16-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows, Java and .NET. |
Mẹo: 128 ký tự đầu tiên của Unicode (tương ứng 1-1 với ASCII) được mã hóa bằng một octet duy nhất có cùng giá trị nhị phân như ASCII, làm cho văn bản ASCII hợp lệ cũng được mã hóa UTF-8 hợp lệ.
HTML 4 hỗ trợ UTF-8. HTML 5 hỗ trợ cả UTF-8 và UTF-16!
Tiêu chuẩn HTML5: Unicode UTF-8
Vì các bộ ký tự trong ISO-8859 có kích thước hạn chế và không tương thích trong môi trường đa ngôn ngữ, Unicode Consortium đã phát triển Tiêu chuẩn Unicode.
Tiêu chuẩn Unicode bao gồm (gần như) tất cả các ký tự, dấu câu và ký hiệu trên thế giới.
Unicode cho phép xử lý, lưu trữ và vận chuyển văn bản độc lập với nền tảng và ngôn ngữ.
Mã hóa ký tự mặc định trong HTML-5 là UTF-8.
Nếu một trang web HTML5 sử dụng bộ ký tự khác với UTF-8, thì bộ ký tự đó phải được chỉ định trong thẻ <meta> như:
Thí dụ
<meta charset="ISO-8859-1">
Sự khác biệt giữa Unicode và UTF-8
Unicode là một bộ ký tự . UTF-8 đang mã hóa .
Unicode là danh sách các ký tự có số thập phân duy nhất (mã điểm). A = 65, B = 66, C = 67,….
Danh sách các số thập phân này đại diện cho chuỗi "xin chào": 104 101 108 108 111
Mã hóa là cách những con số này được dịch thành số nhị phân để được lưu trữ trong máy tính:
Bảng mã UTF-8 sẽ lưu trữ "hello" như thế này (nhị phân): 01101000 01100101 01101100 01101100 01101111
Mã hóa chuyển các số thành hệ nhị phân. Bộ ký tự chuyển các ký tự thành số.
Mã ký tự HTML5 UTF-8
Dưới đây là danh sách một số mã ký tự UTF-8 được HTML5 hỗ trợ:
Character codes | Decimal | Hexadecimal |
---|---|---|
C0 Controls and Basic Latin | 0-127 | 0000-007F |
C1 Controls and Latin-1 Supplement | 128-255 | 0080-00FF |
Latin Extended-A | 256-383 | 0100-017F |
Latin Extended-B | 384-591 | 0180-024F |
Spacing Modifiers | 688-767 | 02B0-02FF |
Diacritical Marks | 768-879 | 0300-036F |
Greek and Coptic | 880-1023 | 0370-03FF |
Cyrillic Basic | 1024-1279 | 0400-04FF |
Cyrillic Supplement | 1280-1327 | 0500-052F |
General Punctuation | 8192-8303 | 2000-206F |
Currency Symbols | 8352-8399 | 20A0-20CF |
Letterlike Symbols | 8448-8527 | 2100-214F |
Arrows | 8592-8703 | 2190-21FF |
Mathematical Operators | 8704-8959 | 2200-22FF |
Box Drawings | 9472-9599 | 2500-257F |
Block Elements | 9600-9631 | 2580-259F |
Geometric Shapes | 9632-9727 | 25A0-25FF |
Miscellaneous Symbols | 9728-9983 | 2600-26FF |
Dingbats | 9984-10175 | 2700-27BF |