programmiert noch jemand ohne UTF-8?



  • hustbaer schrieb:

    Es sei denn man scheisst auf alles ausserhalb der BMP. Bloss dann arbeitet man nicht mehr mit UTF-16, sondern mit UCS-2.

    Was imho auch der Standard bei Windows ist...



  • asc schrieb:

    hustbaer schrieb:

    Es sei denn man scheisst auf alles ausserhalb der BMP. Bloss dann arbeitet man nicht mehr mit UTF-16, sondern mit UCS-2.

    Was imho auch der Standard bei Windows ist...

    War so bis exklusive Windows 2000, ab Version 5.x aufwärts ist der Windows NT Kernel afaik voll UTF-16.



  • dot schrieb:

    ...

    Hatte ich auch so in Erinnerung, konnte nur grad keine Quelle finden.



  • Der Mann mit der beigen Homepage hat das IIRC mal geschrieben. Fällt mir grad net ein wie die Seite heisst...



  • hustbaer schrieb:

    Auskenner schrieb:

    Wenn man UTF-16 oder UTF-32 verwendet, dann gibt es im Prinzip diese Sonderfälle nicht und somit auch keine Sonderbehandlung, da alles 2 byte bzw. 4 Byte groß ist.

    (...)

    Und das unter Windows oder in Java UTF-16 verwendet wird und nicht UTF-32 ist so historisch gewachsen, denn damals, als man sich für UTF-16 entschieden hat, passten die bekannten Unicode Zeichen noch alle in UTF-16.

    Du widersprichst dir da ja schon selbst.

    Also lass es mich auch nochmal tun: NEIN, bei UTF-16 ist NICHT alles gleich lange.
    Ob UTF-8 oder UTF-16 ist diesbezüglich völlig wurscht.
    Es sei denn man scheisst auf alles ausserhalb der BMP. Bloss dann arbeitet man nicht mehr mit UTF-16, sondern mit UCS-2.

    Ja, okay. UCS-2 habe ich eigentlich gemeint.



  • @Auskenner
    Dann musst du besser aufpassen was du schreibst 😉

    hustbaer schrieb:

    Der Mann mit der beigen Homepage hat das IIRC mal geschrieben. Fällt mir grad net ein wie die Seite heisst...

    OK, die Seite an die ich dachte heisst "The Old New Thing". Kann den Beitrag aber nicht finden. Vielleicht bilde ich mir auch nur ein dass ich das dort gelesen habe... *hm*



  • Ich find' utf8 ja scheiße, weil es die Umwelt belastet 🤡



  • Rustiger schrieb:

    Rust scheint per Standard UTF-8 zu machen, oder? http://doc.rust-lang.org/book/strings.html

    Ja, aber auch mit allen Nachteilen, wie O(n) indexzugriff, kein ersetzen von zeichen innerhalb des Strings. Wenn man das braucht und Ascii reicht, sollte man Vec<u8> nehmen.



  • Zu ASCII gibt es auch jeden Menge: http://doc.rust-lang.org/std/?search=ascii

    Aber ist doch toll, wenn man einfach so als Standard UTF-8 hat, das ist doch nun einmal der Standard in der heutigen Zeit. Ob das nun intern doch auf mehr Bytes erweitert wird, um eben nicht O(n) zu haben, interessiert mich jetzt als Programmierer recht wenig. Ich bin sicher, die haben das schon irgendwie gelöst, entweder über einen anderen Typ oder sonst wie.



  • Entfernen und Einfügen von Zeichen ist tatsächlich O(n).


Anmelden zum Antworten