Until the late 1980s, the American Standard Code for Information Interchange (ASCII) was the dominant means of representing characters in a standardized way. In times when computer memory was expensive and performance crucial, ASCII provided a good solution. It could represent 128 or 256 characters (in 8- Bit extended ASCII) efficiently in one byte of memory. This imposed its limitation at the same time; even for a language like English, ASCII had barely enough space to store all characters of the alphabet and all other symbols (e.g. mathematical, scientific) common in English-speaking environments.
Unicode was introduced to change this. It provides a unique number for every character, no matter the platform, program, or language.
Development is currently underway, and is structured by the Unicode Consortium, established in 1991 when Unicode 1.0.0 was released. The world of Information Technology (IT) changed significantly since then, heavily supported by the emergence of powerful networking technologies. The Unicode standard, an official document defining the structure and behavior of Unicode, has already reached version 3.1.1.
In its current version, Unicode recognizes more than 49,000 characters, covering the principal written languages of the world.
The Unicode Consortium strives to eventually provide support for every known language (including dead ones). Acknowledging the importance of a standardized international character set, commonly used technologies support Unicode. These technologies include:
Java. The language is portable among many platforms. Standard Java class files can be transferred and used without recompiling the code. The language was designed with a global market in mind.
Markup languages. Often, the essential part of effective Web development is the ability to provide language support for visitors who speak a variety of different native languages.
Operating systems. Current operating systems like Linux or Windows 2000 have integrated Unicode support, which enables richer presentation information.
Unicode is a great aid in internationalizing software. With its help, programmers and information providers can address the needs of an international audience. Unicode is a mature standard, widely accepted and constantly evolving to integrate a broader range of languages.