Unicode is a standard
character set
that numbers and defines
characters
from the world's different languages, writing systems, and symbols.
By assigning each character a number, programmers can create
character encodings
, to let computers store, process, and transmit any combination of languages in the same file or program.
Before Unicode, it was difficult and error-prone to mix languages in the same data. For example, one character set would store Japanese characters, and another would store the Arabic alphabet. If it was not clearly marked which parts of the data were in which character set, other programs and computers would display the text incorrectly, or damage it during processing. If you've ever seen text where characters like curly quotes (“”) were replaced with gibberish like
A?A£
, then you've seen this problem, known as
Mojibake
.
The most common Unicode character encoding on the Web is
UTF-8
. Other encodings exist, like UTF-16 or the obsolete UCS-2, but UTF-8 is recommended.