Rückgabewerte nur noch in Chinesisch



  • m.e. schrieb:

    firefly schrieb:

    Bei UTF-16 hat eine code-unit 2 bytes

    Ein weit verbreiteter Irrglaube, der schon viele Bugs verursacht hat.

    Sorry, zu schnell draufgehauen. Eine Codeunit ist 2 Bytes groß, da hast du Recht. Nur kann ein Zeichen auch hier aus mehreren Units aufgebaut sein, was viele nicht wissen.





  • Valyse schrieb:

    Ich wollte doch extra weg von Ansi zeichen um auch fremdschriften anzeigen zu können, wäre da jetzt nicht eine Konvertierung vier ungünstig?

    Wenn die Datenbank UTF8 speichert und du UTF8 liest sollte alles passen. - Speichert die Datenbank etwas anderes dann musst du in deiner Anwendung eben auf diese Codierung wechseln.



  • m.e. schrieb:

    m.e. schrieb:

    firefly schrieb:

    Bei UTF-16 hat eine code-unit 2 bytes

    Ein weit verbreiteter Irrglaube, der schon viele Bugs verursacht hat.

    Sorry, zu schnell draufgehauen. Eine Codeunit ist 2 Bytes groß, da hast du Recht. Nur kann ein Zeichen auch hier aus mehreren Units aufgebaut sein, was viele nicht wissen.

    Ich habe nie behauptet dass bei UTF-16 alle zeichen aus nur einer code unit bestehen 😉 es war nur als Beispiel gemeint das UTF-16 mehr als ein byte pro code unit hat



  • inflames2k schrieb:

    Valyse schrieb:

    Ich wollte doch extra weg von Ansi zeichen um auch fremdschriften anzeigen zu können, wäre da jetzt nicht eine Konvertierung vier ungünstig?

    Wenn die Datenbank UTF8 speichert und du UTF8 liest sollte alles passen. - Speichert die Datenbank etwas anderes dann musst du in deiner Anwendung eben auf diese Codierung wechseln.

    Oder beim auslesen der Daten aus der DB eine Konvertierung in eine der UNICODE codierungen vornehmen



  • Wer nutzt UTF-32 überhaupt?

    UTF-8 ist/sollte gängiger Standard sein. Windows hält sich leider nicht unbedingt dran und arbeitet dann mit UTF-16, da ist Konvertierungsbedarf. Wo sonst (wenn man ASCII vernachlässigt)?



  • Ich habs immer noch nciht kappiert. Wie bekomme ich das UTF16 den dann in wieder in UTF8 zurück und vor allem in lesbar?





  • Aber das ist doch von 8 zu 16 ich will doch in die andere Richtung.

    Ich hab jetzt einiges schon versucht. Aber immer von ich recv() aufrufe ist mein Rückgabewert nicht lesbar. Die Zeichenlänge stimmt und über Wireshark sehe ich auch das der Text richtig übergeben wird, aber beim Debuggen im Quellcode kommt es falsch an, irgendwie habe ich das Gefühl ich habe noch einen ganz elementaren Fehler in der ganzen Verbindung mit der Socketverbindung. Nur komme ich nicht auf den Fehler. Ich sehe ja auch das die Werte die ich zur DB schicke alle passen und im Klartext sind.
    Muss ich den wirklich das Result aus recv umwandeln oder dürfte es da eigentlich schon gar nicht falsch ankommen.
    Tut mir wirklich leid wenn ich jetzt wie doof wirke, aber ich verstehe gefühlt mit jeder google Suche nur noch weniger.



  • inflames2k schrieb:

    firefly schrieb:

    UTF8: 1 Byte Kodierung, kompatible zu ASCII

    Das stimmt aber nicht in jedem Fall. Umlaute sind nämlich z.B. 2 Byte groß. Zudem ist wenn dann ASCII zu UTF8 kompatibel und nicht umgekehrt, da UTF8 deutlich mehr Zeichen kennt.

    ASCII kennt sowieso keine Umlaute. 😕


Anmelden zum Antworten