Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi string VS widestring ? (https://www.delphipraxis.net/84472-string-vs-widestring.html)

agm65 17. Jan 2007 12:30


string VS widestring ?
 
hallo freunde, mal ne frage ...beim übermitteln von daten (die ich in einem string zusammenfasse), wollte ich wissen, da der string riesig werden kann, ob ich vll besser einen widestring nehmen soll ? bzw ab wann würdet ihr einen widestring nehmen ?

sirius 17. Jan 2007 12:36

Re: string VS widestring ?
 
Widestring bedeutet nicht, dass der String länger werden kann. Die Größe jedes Strings ist auf deinen virtuellen Adressraum begrenzt (4GB - 2GB System). Widestring ist nur eine Möglichkeit
UniCode-Chars unterzubringen, da ein WideChar halt 2 Bytes belegt.

agm65 17. Jan 2007 12:40

Re: string VS widestring ?
 
das heisst: string & widerstring = gleiche größe aber widestrings kann unicode ?

Bernhard Geyer 17. Jan 2007 12:41

Re: string VS widestring ?
 
Zitat:

Zitat von agm65
hallo freunde, mal ne frage ...beim übermitteln von daten (die ich in einem string zusammenfasse), wollte ich wissen, da der string riesig werden kann, ob ich vll besser einen widestring nehmen soll ? bzw ab wann würdet ihr einen widestring nehmen ?

Mit einem WideString werden die Daten doppelt so groß (Char = 1 Byte, WideChar = 2 Byte).
Wenn die Daten so groß werden so führe doch eine GZip oder ZLib-Komprimierung durch.

sirius 17. Jan 2007 12:47

Re: string VS widestring ?
 
Zitat:

Zitat von agm65
das heisst: string & widerstring = gleiche größe aber widestrings kann unicode ?

Fast.
Wie schon Bernhard sagt: Dadurch, dass bei Widstring ein Zeichen 2 Bytes groß ist (wegen Unicode), benötigst du für einen Satz aus 10 Zeichen
-in einem "normalen" (Ansi-)string: 10 Bytes (+Größe und Referenzzähler)
-in einem Widestring: 20 Bytes (+Größe und Referenzzähler)

Was für strings willst du denn speichern?
Ihn zu zippen ist ein Möglichkeit. Eine andere ist das PAcken selbst in die Hand nehmen, weil du ja genau weist, was du speichern willst.
Oder du speichersts halt gleich auf die Platte (Zeitfrage)


Edit: Aber wenn dir dir Speicher nicht ausreicht, dann warte doch auf Delphi64 für Win64. Da gehts bestimmt besser. Ist auch eine schöne Systemanforderung deiner Software:
min 64bit-Prozessor :thumb:
min 256GB RAM :mrgreen:
:duck:

agm65 17. Jan 2007 12:50

Re: string VS widestring ?
 
danke für die auskunft...wieder was dazugelernt


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 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