Wie speichert Java UTF-16-Zeichen in seinem 16-Bit-Zeichentyp?

LautJava SE 7-Spezifikation, Java verwendet den Unicode UTF-16-Standard zur Darstellung von Zeichen. Bei der Vorstellung einesString Als eineinfaches Array Mit 16-Bit-Variablen, die jeweils ein Zeichen enthalten, ist das Leben einfach.

Leider gibt es Codepunkte, für die 16 Bit einfach nicht ausreichen (ich glaube, es war 16/17 aller Unicode-Zeichen). Also in aStringstellt dies kein direktes Problem dar, da wenn eines dieser ~ 1.048.576 Zeichen mit einem gespeichert werden sollzusätzliche zwei Bytes, einfach zwei Array-PositionenString würde verwendet werden.

Dies, ohne irgendwelche zu posierenDirekte Problem, funktioniert fürStrings, weil es immer zwei zusätzliche Bytes geben kann. Allerdings, wenn es um einzelne Variablen geht, die im Gegensatz zur UTF-16-Codierung eine habenfeste Länge von 16 Bit, wie können diese Zeichen gespeichert werden und insbesondere, wie macht Java das mit seiner2-Byte-Typ "char"?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage