Unicode
Nachdem sich das Hantieren mit diversen, länderspezifischen ASCII-Codepages unterschiedlicher Bit-Breite (7-Bit US-ASCII und 8-BIT Extended ASCII oder ANSI-Code) bei der weltweiten Datenübertragung als sehr lästig und unschön erwiesen hat, entstand in den letzten Jahren ein neuer Standard, der versucht, sämtliche relevanten Zeichen aus den unterschiedlichsten Kulturkreisen in einem universellen Code zu vereinigen.
Dieser neue Code heißt Unicode und verwendet eine 16-Bit Codierung, kann also maximal 65.536 Zeichen darstellen.
Länderspezifische Zeichen wie die deutschen Umlaute gehören ebenso selbstverständlich zum Unicode-Zeichensatz wie kyrillische, arabische, japanische, chinesische und tibetanische Schriftzeichen.
Die ersten 128 Zeichen sind identisch mit dem ASCII-Code, die folgenden 128 sind identisch mit dem ISO-Latin 1-Code.Herkömmliche Programmiersprachen lassen meist keine Zeichen zu, die über den ASCII-Code hinausgehen. Java erlaubt als erste der großen Programmiersprachen die Verwendung beliebiger Unicode-Zeichen.
Unicode ist als UCS (Universal Character Set) bzw. als ISO-10646 vom Unicode-konsortium und der ISO standardisiert worden.
In der Definition von UCS geht die ISO allerdings noch einen Schritt weiter als das Unicode-Konsortium: Es werden sowohl eine 16-Bit Codierung (UCS-2) als auch eine 31-Bit Codierung (UCS-4) festgelegt.
Die Codes von UCS-2 werden als basic-multilingual plane (BMP) bezeichnet, beinhalten alle bisher definierten Codes und stimmen mit Unicode überein.
Codes, die UCS-4 ausnutzen sind für potenzielle zukünftige Erweiterungen vorgesehen.Die Speicherung von Texten im Unicode benötigt zwei (UCS-2) bis viermal (UCS-4) soviel Speicherplatz, wie im ASCII-Code.
Dies liegt daran, daß ein Zeichen im UCS-2 Format mit 16 Bit statt mit 8 Bit codiert wird, d.h. selbst Zeichen, die auch im alten ASCII-Standard enthalten sind, werden mit 16-Bit codiert, von denen die ersten 9-Bit Nullen sind, also keine Information enthalten!
Aus diesem Grund hat sich eine weitere Codierung etabliert, die etwas ökonomischer mit Speicherplatz umgeht: UTF-8.