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
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.401 Beiträge
 
Delphi 12 Athens
 
#1

AW: Unicodestring in stream speichern

  Alt 18. Aug 2011, 16:51
Ja, es gibt bei UTF-16 die beiden Habvergessenwiedieheißen Zeichenpaare, aber dort die als 2 Zeichen gezählt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
DrUArn

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

AW: Unicodestring in stream speichern

  Alt 18. Aug 2011, 20:31
Hi,
danke an alle Diskutanten - habe schon geahnt, daß ich eine Lawine zu dem Thema lostrete.

@ DeddyH: ist einfach ein tstream

und dennoch

nehmen wir in meinem Beispiel an astring:='Willi'

d.h. length(astring) ist 5

In meinem Beispiel 1 werden 5 Byte (?) gespeichert und wieder gelesen. Der Inhalt von Astring ist 'Willi'.

In meinem Beispiel 2 werden 10 Byte (?) gespeichert und wieder gelesen.
Läßt man hier SetLength(astring,i div 2) weg, steht in in Astring z.B. 'Willi#0blblab'. Danach geschehen unwägbare Dinge im Programm.

Wieso muß ich diese 5 zusätzliche Byte speichern, die nichts mit dem String zu tun haben - wird ja durch #0 beendet?

MfG
Uwe
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.702 Beiträge
 
Delphi 12 Athens
 
#3

AW: Unicodestring in stream speichern

  Alt 18. Aug 2011, 20:40
nehmen wir in meinem Beispiel an astring:='Willi'

d.h. length(astring) ist 5

In meinem Beispiel 1 werden 5 Byte (?) gespeichert und wieder gelesen. Der Inhalt von Astring ist 'Willi'.
Setz doch vor dem Lesen von Astring mal AString := 'Klaus';
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.227 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Unicodestring in stream speichern

  Alt 18. Aug 2011, 21:32
Hab ich mir es doch fast gedacht: Du hast in deinem String einen Ansi-String.

Schau dir mal folgende Quellen an:

http://docwiki.embarcadero.com/RADSt..._in_RAD_Studio
http://docs.embarcadero.com/products...TEncoding.html
http://docs.embarcadero.com/products...e@Integer.html

Damit solltest du eine korrekt Implementierung hin bekommen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DrUArn

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

AW: Unicodestring in stream speichern

  Alt 19. Aug 2011, 08:30
Hi, community,

@ Uwe Raabe: Der Versuch lohnte sich - mein Beispiel 1 liest dann nur zufälliges ein - Beispiel 2 arbeitet korrekt!
Danke!

Nun muß ich das erst verstehen - dazu sind aber z. Zt. meine Kenntnisse für Unicode etc. zu gering - also lernen!
Bisher war ja oft für mich string ein shortstring und der läßt sich wohl auf Methode 1 korrekt speichern und lesen!

MfG
Uwe
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:24 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