Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#44

Re: Ist wahres Unicode mit Delphi überhaupt möglich?

  Alt 22. Aug 2008, 20:31
Zitat von rakekniven:
Übrigens wird nicht UTF16 sondern für alles UTF8 verwendet. Man kann durch explizite Vorgabe aber auch UTF16 verwenden. Somit kann es Zeichen geben die ein bis sechs Byte brauchen. Ein Umstellen der Datenbank führt nicht zu einer Verdoppelung der Größe, wie vielfach erwähnt, das Unicode nicht 2 Byte pro Zeichen bedeutet.
Ich glaube du verwechselst hier was. Der Unicode-Stringtyp wird auf UTF-16 basieren. Alles andere wäre performancetechnisch eine Schrottlösung. Allein die Zeile

Zitat:
The ElementSize for an UnicodeString is: 2
von Delphi in a Unicode World Part II: New RTL Features and Classes to Support Unicode bestätigt dies. Bei UTF wäre der ElementSize 1.

Es würde keinen Sinn machen einen UTF8-Basierten Stringdatentypen in 2008 neu einzuführen wenn das unterstützte Betriebssystem mit UTF-16 arbeitet. (Wie ist da eigentlich bei Win64 )

Bei vielen Datenbanken (Interbase/MySQL/Oracle) wird auf Transportebene UTF-8 verwendet und zwar aus dem einfachen Grund das diese Datenbanken Aufgrund der historischen Entwicklung keine andere Möglichkeit bieten da ihre Netzwerkinterfaces noch 8-Bit-characterbasiert sind. Allein MS SQL Server (mehr SQL Server kenn ich nicht die das so machen) und diverse Desktopdatenbanken (TurboDB, Accuracer, ...) können auf ihrer Programmierschnittstelle direkt mit UTF-16/UCS2 umgehen.

Zitat von blackdrake:
Schade finde ich, dass in Delphi immer alles verspätet kommt.
Oft hatte das Vorteile (Einfachheit der COM-Implementierung gegenüber z.B. C++). Jedoch hat man mit dem Kylix-Ausflug ca. 2 Jahre verloren und der .NET-Port ist ja ziemlich zurechtgestutzt worden.

Zitat von blackdrake:
Unicode gibts ja bereits seit Windows 95 (Widestrings in den EXE Dateien) und hätte in Delphi schon viel früher implementiert werden sollen.
Der Unicode-Support unter Win9x/ME ist marginal. Ca 12 Funktionen sind Unicode-Enabled (reicht aber um mit ElPack Unicode unter Win9x/ME ohne Installlation anbieten zu können). Viele Widestring-Win32-API-Funktionen existieren nur als Dummy und auch der Unicodelayer for Win9x ist 'ne Mogelpackung (interne weiterleitung der Widestring-API-Aufrufe auf die Ansi-Funktionen) und bietet genau die gleiche Funtionalität welche die TNTWare-Kompos bieten.

Auch ist Win95 erschreckend langsam bei Verwendung von Unicode (bei gleicher HW ist Win98 merklich flotter - hier auch wieder eigene App mit ElPack getestet).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat