AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Unicodestring in stream speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Unicodestring in stream speichern

Ein Thema von DrUArn · begonnen am 18. Aug 2011 · letzter Beitrag vom 19. Aug 2011
 
DrUArn

Registriert seit: 20. Mär 2003
130 Beiträge
 
Delphi 10.3 Rio
 
#1

Unicodestring in stream speichern

  Alt 18. Aug 2011, 12:44
Hi,

ich habe mir einige der Diskussionen über das Speichern von String (Unicode) durchgelesen und selbst experimentiert

Delphi-Quellcode:
var astring:unicodestring;
    s:tstream;
    i:integer;

speichern
i:=length(astring);
s.write(i,sizeof(i));
s.write(pointer(astring)^,i);


lesen
s.Read(i,sizeof(i));
SetLength(astring,i);
s.Read(pointer(f_string)^,i);
das funktioniert sogar!

wiederspricht folgendem Fakt: "Bei Unicode-Strings (WideString) gibt Length die Byte-Anzahl geteilt durch zwei zurück" (delphi-Hilfe)

also, wie in einigen Beiträgen empfohlen:

Delphi-Quellcode:
var astring:unicodestring;
    s:tstream;
    i:integer;

speichern
i:=length(astring)*2 ;//*sizeof(char)
s.write(i,sizeof(i));
s.write(pointer(astring)^,i);


lesen
s.Read(i,sizeof(i));
SetLength(astring,i div 2);
s.Read(pointer(f_string)^,i);
das funktioniert auch - nur das die doppelte Menge bytes gespeichert werden - oder wo ist der Denkfehler?

Beide Methoden funktionieren!

MfG
Uwe
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz