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