Wenn man also ein komplett neues System entwerfen würde, dann würde man dafür sicher kein UTF-16 nehmen.
Und deiner Meinung nach was dann? Aber bitte mit genauer Begründung.
rüdiger schrieb:
Unicode im Web ist ja eine relativ neue Sache und da nimmt man eben UTF-8. Nicht nur weil es keine Unterscheidung zwischen LE und BE braucht. Sondern vorallem weil es sehr platzsparend ist. Selbst bei Webseiten mit asiatischem Text spart man locker 40% gegenüber UTF-16.
Also in erster Linie nimmt man im Web UTF-8, weil das Web ein Legacy System ist, welches früher auf ASCII aufgebaut hat (oder noch tut). Und der zweite Grund wäre das Problem mit LE und BE, weil man im Web beides antrifft. Der Platz käme erst an 3. Stelle und habe ich persönlich noch kaum als Begründung aufgeführt gesehen.
Das ist im übrigen sowieso einer der Hauptgründe, wieso UTF-8 so weit verbreitet ist, da jedes System/Bibliothek/Program/usw., welches ASCII verarbeiten konnte, auch UTF-8 durchreichen kann. strlen aus C kann man auch auf UTF-8 anwenden, während dies bei UTF-16 und UTF-32 ziemlich problematisch wird. UTF-8 ist so wahnsinnig verbreitet wegen den Legacy Systemen. Da finde ich es schon sehr verwunderlich, dass du UTF-8 nicht in diese Gruppe nimmst.
rüdiger schrieb:
UTF-16 kombiniert den Nachteil von UTF-8 (keine feste Zuordnung der Codepoints) mit den Nachteilen von UTF-32 (viel Speicherverbraucht).
Man könnte es auch anders sehen. UTF-16 ist einfacher zu dekodieren, da die üblichen Zeichen sogar mit den asiatischen, immer in 2 Bytes platz haben. Meistens muss also nichts gross dekodiert werden. Allerdings verbraucht man dabei auch nicht gleich so viel Speicherplatz wie bei UTF-32.
Im übrigen finde ich noch witzig, dass du von einem neuen Betriebsystem redest. Wir reden aber von aktuellen Anwendungen und sogar in diesem Thread von Windows. Und wenn du in diesem Kontext UTF-16 als nicht sinnvoll bezeichnest, da habe ich schon so meine Mühe mit. Und gerade dieser riesen Windows- und Java-Markt empfinde ich irgendwie nicht als "Sonderfall".
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.