1.) ASCII
ASCII ist einer der ersten Standardzeichensätze, der auf 7 Bit
Informationen basiert mit denen 128 Zeichen kodiert werden können.
Die ersten 32 Zeichen (0-31) sind für Steuerzeichen reserviert, die restlichen Zeichen (32-127) für
darstellbare Zeichen (vor allem die in der englischen Sprache verwendeten Buchstaben).
2.) ANSI
ANSI arbeitet mit 8 Bit und kann 256 Zeichen kodieren.
Die Zeichen 0 bis 127 sind der ASCII-Zeichensatz und die Werten zwischen 128 und 255 sind Sonderzeichen.
3.) ISO-8859
Da der Bedarf an international gültigen Zeichensätzen immer größer wurde
entstand ein Set von Zeichensätzen (iso-8859-Familie).
Alle diese Zeichensätze basieren auf 8 Bit und können 256 Zeichen abbilden.
Die ersten 128 Zeichen (0 - 127) sind immer identisch mit dem ASCII-Zeichensatz.
Die zweiten 128 Stellen enthalten spezielle Zeichen.
So enthält der Zeichensatz ISO-8859-1 die schriftspezifischen Zeichen für westeuropäische und amerikanische Sprachen,
ISO-8859-2 die Zeichen für die meisten mitteleuropäischen und slawischen Sprachen, ...,
ISO-8859-15 das Euro-Zeichen.
4.) Unicode
Unicode soll die Lösung für einen universellen Zeichensatz zur Darstellung möglichst
aller Zeichen aller Sprachen sein.
Hier werden für das Speichern eines Zeichens 16 Bit verwendet und somit können 65536 Zeichen genutzt werden.
Wenn beim Unicode das erste Byte auf null gesetzt wird,
verhält er sich wie ASCII.
5.) UTF-8
In UTF-8 (8-bit Unicode Transformation Format) wird jedem Unicode-Zeichen eine speziell kodierte Bytekette von variabler Länge zugeordnet.
UTF-8 unterstützt bis zu 4 Byte, mit denen sich 1.114.112 Zeichen abbilden lassen.
Unicode-Zeichen mit den Werten aus dem Bereich von 0 bis 127 werden in der UTF-8-Kodierung als ein Byte mit dem gleichen Wert wiedergegeben.
Insofern sind alle Daten, die ausschließlich echte ASCII-Zeichen verwenden, in beiden Darstellungen identisch.
Unicode-Zeichen größer als 127 werden in der UTF-8-Kodierung zu Byteketten der Länge zwei bis vier.
Unicode-Bereich | UTF-8-Kodierung | Bemerkungen | Möglichkeiten | |
0000 0000 - 0000 007F | 0xxxxxxx | In diesem Bereich (128 Zeichen) entspricht UTF-8 genau dem ASCII-Code: Das erste Bit ist 0, die darauf folgende 7-Bitkombination ist das ASCII-Zeichen. | 27 | 128 |
0000 0080 - 0000 07FF | 110xxxxx 10xxxxxx | Das erste Byte beginnt mit binär 11, die folgenden Bytes beginnen mit binär 10; die x stehen für die fortlaufende Bitkombination des Unicode-Zeichens. Die Anzahl der Einsen bis zur ersten 0 im ersten Byte ist die Anzahl der Bytes für das Zeichen. [In eckigen Klammern jeweils die theoretisch maximal möglichen.] | 211-27 [211] |
1.920 [2.048] |
0000 0800 - 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx | [216] |
63.488 [65.536] | |
220 [221] |
1.048.576 [2.097.152] |
Unicode ausprobieren:
public class Test { static public void main (String args[]) { char z; z= 'X'; System.out.println(z); z= '\u0058'; System.out.println(z); z= 58; System.out.println(z); } }
Oder den Code direkt als dezimale Zahl eingeben. Bsp.: z=246 ist ein Umlaut ausserhalb ASCII