Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Unicodestring in stream speichern

  Alt 18. Aug 2011, 14:25
Der WideString ist auch längenabhängig.

> Zusatzinfos im ShortString (bis D2007 oder 2009)
- Längenbyte (Byte) als Anzahl der Chars/Bytes ... PS: wegen diesem Byte (an Index 0), fangen unsere Strings mit 1 an

> Zusatzinfos im AnsiString (bis D2007 oder 2009)
- Längenbyte (Integer) als Anzahl der Chars/Bytes (Multibytes wären als mehrere AnsiChar gezählt)
- Referenzzählung (Integer)
- und hinten drann noch ein zusätzliches #0 für die PChar-kompatibilität

> Zusatzinfos im AnsiString (seit D2009 oder 2010)
- Längenbyte (Integer) als Anzahl der Chars
- Referenzzählung (Integer)
- Codepage (Word)
- CharSize (Word)
- und hinten drann noch ein zusätzliches #0 für die PChar-kompatibilität

> Zusatzinfos im UnicodeString
- Längenbyte (Integer) als Anzahl der Chars
- Referenzzählung (Integer)
- Codepage (Word)
- CharSize (Word)
- und hinten drann noch ein zusätzliches #0 für die PChar-kompatibilität

> Zusatzinfos im WideStringString
- Längenbyte (Integer) als Anzahl der Bytes
- (hier bin ich mir nicht sicher, mit der zusätzlichen #0, aber ich glaub die gibt es nicht)


Leerstrings sind NIL (abgesehn vom ShortString) und haben keine Zusatzinfos
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (18. Aug 2011 um 14:28 Uhr)
  Mit Zitat antworten Zitat