Unicode, UTF8 und Multiybyte - etwas verwirrt.



  • Optimist schrieb:

    Das mit der variablen Breite eines Glyphs ist irgendwie nicht so schön. Ich mein bei 32Bit (über 4Mrd Werte) hätte man doch auch jeder Kombination von Buchstabe und Anhängsel einen eigenen code point geben können, oder?

    Es sind nur Dank des glorreichen UTF-16 keine 4 Milliarden sondern nur etwas über 1,1 Millionen. Und da wirds mit allen Kombinationen von Buchstaben und deren Dekorationen vielleicht doch etwas knapper. Es würde aber wohl auch das entwickeln von Schriften ungleich komplizierter machen, denke ich.

    Optimist schrieb:

    Naja, leider ist dem nicht so, deshalb meine Frage: Gibt es eine Unicode string Klasse, die auf der Basis von Glyphs arbeitet? Also: str[5] = 5. Glyph.

    Nicht, dass ich wüsste. Aber wieso sollte man das wollen? Mir fällt auf Anhieb kein Fall ein, in dem man wahlfreien Zugriff auf ein Glyph bräuchte.



  • Artchi schrieb:

    Und dann noch etwas: unter Java 1.4 ist ein String UTF-16 und ab Java 1.5 UTF-32 breit. Hem... jetzt möchte ich mal in einem Java-Forum die Diskussion erleben, das von java.lang.String in Java 1.5 abgeraten wird, weil die Strings zu viel Speicher verbraten. Da wird so ebend mal von einer Java-Version auf die nächste die Bitbreite eines Zeichens im String verdoppelt.

    woher hast du das denn?
    In Java 1.5 ist ein char immer noch 16-Bit breit.... 🙄



  • mathik schrieb:

    woher hast du das denn?
    In Java 1.5 ist ein char immer noch 16-Bit breit....

    du wagst es, die aussagen des java-experten nummer 1 auf diesem board anzuzweifeln?
    🙂



  • Hab noch mal nachgeschaut. Sind tatsächlich immer noch 16bit. Waren noch alte Infos die ich hatte, als man auf 32bit umstellen wollte:
    http://java.sun.com/developer/technicalArticles/Intl/Supplementary/index.html

    A number of approaches were considered and rejected by the expert group:

    * Redefining the primitive type char to have 32 bits, which would also make char sequences in all forms UTF-32 sequences.

    Hab mich geirrt.


Anmelden zum Antworten