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

Copyright 1999-2023 by Refsnes Data. All Rights Reserved.