HTML Unicode (UTF-8) Reference
Unicode is a universal character set that defines all the characters needed for writing the majority of living languages in use on computers.
Unicode aims to be (and already is) a superset of all other encoded computer character sets.
The Unicode Standard covers (almost) all characters, punctuations, and symbols in the world and enables processing, storage, and transport of text independent of platform and language.
The Unicode Consortium
The Unicode Consortium develops the Unicode Standard. The goal is to replace existing character sets with UTF (Unicode Transformation Format).
The Unicode Standard is implemented in HTML, XML, JavaScript, E-mail, PHP, Databases and in all modern operating systems and browsers.
The Unicode Character Sets
Unicode can be implemented by different character sets. The most commonly used encodings are UTF-8 and UTF-16:
Charset | Description |
---|---|
UTF-8 | A variable-length character encoding (1 to 4 bytes long). UTF-8 is backwards compatible with ASCII and the preferred encoding for e-mail and web pages. |
UTF-16 | A variable-length character encoding. UTF-16 is used in all major operating systems like Windows, IOS, and Unix. |
The first 128 characters of UTF-8 have the same binary values as ASCII, making ASCII text valid UTF-8.
The HTML Standard is Unicode UTF-8
The default character set in HTML-4 (ISO-8859-1) were limited in size and not compatible in multilingual environments.
The default character encoding in HTML-5 is UTF-8.
HTML5 pages using a different character set than UTF-8 must specify this a <meta> tag:
Example
<meta charset="ISO-8859-1">
The Difference Between Unicode and UTF-8
Unicode is a character set.
It is a list where all characters have a unique decimal number:
A | = | 65 |
B | = | 66 |
C | = | 67 |
D | = | 69 |
The decimal numbers that represent the string "hello"is 104 101 108 108 111
UTF-8 is encoding.
It is how unicode numbers are translated into binary numbers to be stored in the computer:
UTF-8 encoding will store "hello" like this (binary): 01101000 01100101 01101100 01101100 01101111
Unicode is a character set. It translates characters to numbers.
UTf-8 is an encoding standard. It translates numbers into binary.
HTML5 UTF-8 Character Codes
Below is a list of some of the UTF-8 character codes supported by HTML5:
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 |
Latin IPA | 592-685 | 0250-02AD |
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 |
Number Forms | 8528-8591 | 2150-218F |
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 |
Misc Mathematical Symbols A | 10176-10223 | 27C0-27EF |
Supplemental Arrows A | 10224-10239 | 27F0-27FF |
Braille | 10240-10495 | 2800-28FF |
Supplemental Arrows B | 10496-10623 | 2900-297F |
Misc Mathematical Symbols B | 10624-10751 | 2980-29FF |
Supplemental Math Operators | 10752-11007 | 2A00-2AFF |
Misc Symbols and Arrows | 11008-11263 | 2B00-2BFF |