![]() |
Delphi 2009: String, UnicodeString oder WideString?
Hallo!
Nachdem ich hier im Forum einige wiedersprechende Äußerungen zu den o.g. Datentypen gelesen habe, bin ich jetzt ein wenig verwirrt und möchte endlich wissen, welches von o.g. Datentypen ich verwenden soll. Ich benutze Delphi 2009 und arbeite an einem Projekt, dass mit Unicode-Daten zu tun hat. Z.B. bekomme ich von einem HTTP-Webservice die Unicode-Daten geliefert, lade diese in einem String und gebe für weitere Bearbeitung weiter. Welchen der o.g. String-Typen soll ich dabei deklarieren? Welche Unterschied zwischen String und UnicodeString und String und WideString in Delphi 2009? |
Re: Delphi 2009: String, UnicodeString oder WideString?
[edit] About String Types
A string represents a sequence of characters. Delphi supports the following predefined string types. String types Type Maximum length Memory required Used for ShortString 255 characters 2 to 256 bytes Backward compatibility AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, Unicode characters, etc. UnicodeString ~2^30 characters 4 bytes to 2GB Unicode characters, 8-bit (ANSI) characters, multi-user servers and multi-language applications WideString ~2^30 characters 4 bytes to 2GB Unicode characters; multi-user servers and multi-language applications. UnicodeString is generally preferred to WideString, except for COM applications. |
Re: Delphi 2009: String, UnicodeString oder WideString?
Vielen Dank für die schnelle Antwort!
Diese Informatinen habe ich auch gefunden. Was ist dann mit dem einfachen String? Wie ich schon erwähnt habe, habe ich bereits viele Informationen über diese Typen gelesen, manchmal widerspachen sich die Informationen. Deswegen brauche ich jetzt eine konkrete Aussage. Was muss ich in meinem Fall benutzen: String, UnicodeString, WideString oder sonst noch was? |
Re: Delphi 2009: String, UnicodeString oder WideString?
On the Win32 platform, the compiler interprets string (when it appears without a bracketed number after it) as UnicodeString.
Wenn du zB ANSI-String
Delphi-Quellcode:
var
MeiNString : String[200]; UnicodeString
Delphi-Quellcode:
var
MeiNString : String; |
Re: Delphi 2009: String, UnicodeString oder WideString?
Also string?
|
Re: Delphi 2009: String, UnicodeString oder WideString?
Ja, damit machst du nichts falsch. Unicode Daten machen kein Problem mit dem typ "string"
|
Re: Delphi 2009: String, UnicodeString oder WideString?
Vielen Dank!
|
Re: Delphi 2009: String, UnicodeString oder WideString?
Zitat:
ein ansi string ab d 2009 sieht so aus:
Delphi-Quellcode:
var
MeiNString : AnsiString; |
Re: Delphi 2009: String, UnicodeString oder WideString?
programmintern:
die "systemabhängigen" Typen > String, Char, Integer, Cardinal somit paßt es sich immer an den Compiler an (z.B. ist der String bis D2007 ein AnsiString und ab D2009 ist es ein UnicodeString) programmextern oder wenn man geziehlt einen bestimmten Typen benötigt: (also beim Speichern, Datenübertagung oder der Komunikation mit DLLs, COM-Services und anderen externen Interfaces) die statischen Typen > ShortString (String[x]), AnsiString, WideString, UnicodeString, LongInt (und Co.), PAnsiChar, PWideChar alles entsprechend der Anforderungen an die Daten und Speicherveraltung |
AW: Delphi 2009: String, UnicodeString oder WideString?
Ich weiß das dies ein alter Eintrag ist,
aber es passt ganz gut. ein string wurde früher so gespeichert Byte 1 die länge des strings Byte 2 fortlaufend der Inhalt des strings OK wie ist das Heute Mit string und WideString bei string Byte1 + Byte 2 länge des strings Byte 3 + Byte 4 fortlaufend der Inhalt des strings ist das richtig ? und wie wird ein Widestring gespeichert ? was ist der Unterschied zum string ? und wird der AnsiString wie der alte String gespeichert ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz