Wie funktioniert Java speichern von UTF-16-Zeichen in seiner 16-bit-char-Typ?

Entsprechend der Java SE 7 Spezifikation, Java verwendet den Unicode UTF-16-standard zur Darstellung von Zeichen.
Wenn sich eine String als einfaches array 16-bit-Variablen mit je einer Figur, das Leben ist einfach.

Leider gibt es code, der Punkte, für die 16 bit sind einfach nicht genug (ich glaube es war 16/17 alle Unicode-Zeichen). Also in einem String stellt dies kein direktes problem, weil, wenn Sie wollen, um zu speichern eine dieser ~1.048.576 Zeichen mit einem zwei zusätzliche bytes, einfach zwei array-Positionen, die String verwendet werden würde.

Diese, ohne dass irgendwelche direkte problem, funktioniert für Strings, denn es kann immer eine zusätzliche zwei bytes. Aber wenn es um einzelne Variablen, die im Gegensatz zu UTF-16-Codierung ein festen Länge von 16 bits, wie kann man diese Zeichen gespeichert werden, und insbesondere, wie funktioniert Java es mit seinen 2-byte - "char" - Typ?

  • Bitte missbrauchen Sie nicht die backticks. Sie sind für nur code.
  • Es nicht.. Wenn es speichern könnte, wie viel ein Punkt, Sie es nennen würde, 'Zeichen' 🙂 String[index] kann ein ungültiges Zeichen. Weitere Informationen erhalten Sie im utf8everywhere.org.
  • Naja, ich habe immer verwendet Sie einfach, um zu betonen oder unterstreichen Wörter oder Sätze, schien die meisten wichtig oder hatte einen hohen Wiedererkennungswert. Aber vielen Dank für die Einstellung mich Recht, ich werde versuchen, achtsamer in der Zukunft.
  • Sie können Kursiv-und Fettdruck für die normalen und außergewöhnlichen Wert. Das sollte ausreichend sein für die meisten SO Beiträge! 🙂
InformationsquelleAutor Kierrow | 2012-10-28
Schreibe einen Kommentar