The Unicode Consortium develops the Unicode Standard. Their goal is to replace the existing character sets with its standard Unicode Transformation Format (UTF).
The Unicode Consortium cooperates with the leading standards development organizations, like ISO, W3C, and ECMA.
Unicode can be implemented by different character sets. The most commonly used encodings are UTF-8 and UTF-16:
|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.|
Tip: The first 128 characters of Unicode (which correspond one-to-one with ASCII) are encoded using a single octet with the same binary value as ASCII, making valid ASCII text valid UTF-8-encoded Unicode as well.
|HTML 4 supports UTF-8. HTML 5 supports both UTF-8 and UTF-16!|
Because the character sets in ISO-8859 was limited in size, and not compatible in multilingual environments, the Unicode Consortium developed the Unicode Standard.
The Unicode Standard covers (almost) all the characters, punctuations, and symbols in the world.
Unicode enables processing, storage, and transport of text independent of platform and language.
The default character encoding in HTML-5 is UTF-8.
If an HTML5 web page uses a different character set than UTF-8, it should be specified in the <meta> tag like:
Unicode is a character set. UTF-8 is encoding.
Unicode is a list of characters with unique numbers (code points). A = 41, B = 42, C = 43, and so on.
This list of numbers represent the string "hello": 104 101 108 108 111
Encoding is how these numbers are translated into binary numbers to be stored in a computer:
UTF-8 encoding will store"hello" like this (binary): 01101000 01100101 01101100 01101100 01101111
|Encoding translates numbers into binary. Character sets translates characters to numbers.|
Below is a list of some of the UTF-8 character codes supported by HTML5:
|C0 Controls and Basic Latin||0-127||0000-007F|
|C1 Controls and Latin-1 Supplement||128-255||0080-00FF|
|Greek and Coptic||880-1023||0370-03FF|